Как мне запустить 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)