Как мне запустить PartCover в x64 windows

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

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

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

1 ответ

Решение

Проблема вызвана тем, что 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)

Другие вопросы по тегам