我正在尝试运行PartCover来测试在Windows x64上使用Gallio进行的一些测试的覆盖范围.但是,尝试运行它会出现以下错误.
由于以下错误,检索具有CLSID {FB20430E-CDC9-45D7-8453-272268002E08}的组件的COM类工厂失败:80040153.
编辑:我正在使用PartCover 2.2.0
问题是由PartCover在64位.NET VM下运行时尝试加载32位dll引起的.
诀窍是强制PartCover在32位VM中运行.为此,您必须使用名为CorFlags.exe的工具来修改exe并将其标记为32位.这相当于它以x86为目标构建.
CorFlags(在我的机器上)位于Program Files\Microsoft SDKs\Windows\v6.0A\Bin\x64 \
要设置32位标志运行:
CorFlags.exe PartCover.exe/32BIT +/Force
我还发现我必须为正在运行的程序做同样的事情(在我的情况下是Gallio测试运行器)