【发布时间】:2013-03-09 17:42:33
【问题描述】:
我正在编写一个简单的 C# 应用程序来访问 HP ALM -- Quality Center 中的缺陷。
我正在使用 Visual Studio 2008、HP ALM Quality Center 11.0 和 OTAClient.dll 版本 9.2.0.5089。
当我执行这行代码时:
TDConnection qctd = new TDConnection();
我收到以下错误:
“HPQCDataSet.exe 中发生了“System.BadImageFormatException”类型的未处理异常
附加信息:检索具有 CLSID {C5CBD7B2-490C-45F5-8C40-B8C3D108E6D7} 的组件的 COM 类工厂失败,原因是以下错误:800703e6。”
其他地方建议的处理这种情况的方法包括添加一些类似这样的代码作为构建后事件:
调用“$(DevEnvDir)..\tools\vsvars32.bat” editbin.exe /NXCOMPAT:NO "$(TargetPath)"
我已经这样做了,我也将我的平台目标设置为 x86,但是 BadImageFormatException 错误仍然存在。
对我可能尝试的其他步骤有什么建议吗?
【问题讨论】:
-
这通常是 64 位问题,与 COM 库通信的执行应用程序在构建时需要是 x86,因此如果您有创建 TDConnection 的 Winforms 应用程序,请确保 *.exe 是针对构建的x86
-
@Jon -- 我认为将我的平台目标设置为 x86 会解决这个问题。我还有什么需要做的吗?
-
应该是,但是你确定COM库是x86的吗?
-
@Jon -- 据我所知,但我并不积极。
标签: c# exception hp-quality-center