Как мне запустить PartCover в x64 windows - PullRequest
15 голосов
/ 02 ноября 2008

Я пытаюсь запустить PartCover, чтобы проверить покрытие некоторых тестов с Gallio на Windows x64. Однако попытка запустить его приводит к следующей ошибке.

Получение фабрики класса COM для компонента с CLSID {FB20430E-CDC9-45D7-8453-272268002E08} не удалось из-за следующей ошибки: 80040153.

Редактировать: я использую PartCover 2.2.0

1 Ответ

17 голосов
/ 02 ноября 2008

Проблема вызвана тем, что PartCover пытается загрузить 32-битную DLL, когда он работает под 64-битной .NET VM.

Хитрость заключается в том, чтобы заставить PartCover работать в 32-битной виртуальной машине. Чтобы сделать это, вы должны использовать инструмент CorFlags.exe, чтобы изменить исполняемый файл и пометить его как 32-битный. Это эквивалентно тому, что он был собран с x86 в качестве цели.

CorFlags (на моем компьютере) находится в Program Files \ Microsoft SDKs \ Windows \ v6.0A \ Bin \ x64 \

Чтобы установить 32-битный флаг запуска:

CorFlags.exe PartCover.exe / 32BIT + / Force

Я также обнаружил, что мне нужно было сделать то же самое для запускаемой программы (в моем случае это тестер Gallio)

...