我在 VS 2013 和 VS 2010 上开发了 UCMA 4.0 应用程序。运行项目时,出现以下错误:
无法加载文件或程序集“SIPEPS,Version=5.0.0.0,Culture=neutral,PublicKeyToken=31bf3856ad364e35”或其依赖项之一。该系统找不到指定的文件。
I used .NET
4 并将目标构建平台设置为x64
。通过检查dependentwalker_x64并且没有文件丢失。
我还使用了示例中的 App.config 文件,但不起作用,因此我更改了 App.config 文件,如下所示:
<runtime>
<assemblyBinding>
<dependentAssembly>
<assemblyIdentity name="SIPEPS" publicKeyToken="31bf3856ad364e35" culture="neutral"/>
<bindingRedirect oldVersion="0.0.0.0-4.5.0.0" newVersion="5.0.0.0"/>
</dependentAssembly>
</assemblyBinding>
对于这个问题我该怎么办呢?非常感谢您的帮助!
该异常可能会非常令人困惑,因为 UCMA 项目不需要对此进行显式引用SIPEPS动态链接库,即使您找到 DLL 并将其移动到与应用程序相同的目录中,通常也会遇到异常。
事实证明,这通常是由以下两种原因之一引起的:
- 您瞄准了错误的 .NET Framework 版本。
- 您选择了错误类型的 CPU。
在 Visual Studio 中打开项目的属性,并确保选择 .NET Framework 4.5。
如果您没有运行 Visual Studio 2012,您有一个更大的
问题,
因为您无法将 .NET 4.5 与 Visual Studio 2010 及更早版本一起使用。
如果您选择了早期版本的框架,请更改它,重建项目,然后重试。 UCMA 4.0 将 .NET 4.5 列为一项要求。
如果您仍然遇到异常,
检查目标平台并确保它是Any CPU or x64对全部
项目。
UCMA自 3.0 版本以来仅适用于 64 位计算机,有时会发生项目会无意中设置为 x86,因此会在启动时尝试加载 32 位版本的 SIPEPS.dll。嗯,SIPEPS.dll 没有 32 位版本;因此出现了有点误导性的例外。
参考
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)