15

我正在尝试运行 PartCover 以在 windows x64 上使用 Gallio 测试一些测试的覆盖率。但是尝试运行它会出现以下错误。

由于以下错误,检索具有 CLSID {FB20430E-CDC9-45D7-8453-272268002E08} 的组件的 COM 类工厂失败:80040153。

编辑:我正在使用 PartCover 2.2.0

4

1 回答 1

17

该问题是由 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 测试运行程序)

于 2008-11-02T00:07:07.760 回答