Как запустить PartCover в окнах x64

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

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

Изменить: я использую PartCover 2.2.0

Ответы

Ответ 1

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

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

CorFlags (на моей машине) находится в Program Files\Microsoft SDK\Windows\v6.0A\Bin\x64\

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

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

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