0

使用 p4api.net,我无法加载 p4bridge.dll。

如果不出现以下错误,我无法将其添加为解决方案的参考:

在此处输入图像描述

如果我不包括它,我会得到以下运行时异常:

测试方法 CFTT.Business.Test.GeneralTests.ddddd 抛出异常:System.DllNotFoundException:无法加载 DLL 'p4bridge.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' 或其依赖项之一。试图加载格式不正确的程序。

有没有人有这些问题的经验?

4

2 回答 2

6

您需要添加对p4api.net.dll- 这是 .Net 程序集的引用。

p4bridge.dll是一个本地 COM 启用库,我认为它需要在同一目录中,但不需要直接从您的代码中引用。

于 2013-07-08T20:02:54.007 回答
1

我已经针对这个问题发布了一个解决方案,它允许您使用 Any CPU 目标构建 p4api.net 并让它自动在 x86 和 x64 架构上运行:Building p4api.net.dll for 'Any CPU'

希望这可以帮助任何偶然发现这个问题并希望在未来解决这个问题的人!

于 2016-12-20T01:37:32.527 回答