我正在尝试运行PartCover来测试在Windows x64上使用Gallio进行的一些测试的覆盖范围。但是,尝试运行它会产生以下错误。
使用CLSID检索组件的COM类工厂 {FB20430E-CDC9-45D7-8453-272268002E08}由于以下错误而失败:80040153。
编辑:我正在使用PartCover 2.2.0
答案 0 :(得分: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测试运行器)