使用p4api.net,我不能加载p4bridge.dll。
如果没有得到以下错误,我就不能将它添加为对解决方案的引用:
如果不包括它,则会得到以下运行时异常:
测试方法CFTT.Business.Test.GeneralTests.ddddd抛出异常: System.DllNotFoundException:无法加载DLL‘p4bridge ge.dll’:找不到指定的模块。(HRESULT例外: 0x8007007E)
如果我在没有显式引用的情况下手动将dll复制到构建输出目录,我也会得到上面的错误,尽管我正在运行这个抛出的单元测试,所以这可能是一个边路径问题。
上面提到的是32位,如果我尝试使用64位(我更愿意这样做),我也会得到与p4bridge.dll相同的错误,但是在运行时,我得到:
测试方法CFTT.Business.Test.GeneralTests.ddddd抛出异常: System.BadImageFormatException:无法加载文件或程序集'p4api.net、Version=2013.2.66.1822、Culture=neutral、PublicKeyToken=f6b9b9d036c873e1‘或其依赖项之一。试图加载格式不正确的程序。
有人对这些问题有经验吗?
发布于 2013-07-08 20:02:54
您需要添加对p4api.net.dll
的引用--这是.Net程序集。
p4bridge.dll
是一个启用COM的本地库,我认为它需要位于同一个目录中,但不需要直接从代码中引用。
发布于 2016-12-20 01:37:32
我已经为这个问题发布了一个解决方案,允许您使用Any目标构建p4api.net,并让它在x86和x64体系结构上自动工作:Building p4api.net.dll for 'Any CPU'
希望这能帮助那些无意中发现这个问题的人在将来解决这个问题!
https://stackoverflow.com/questions/17534784
复制相似问题