错误SIPEPS,版本= 5.0.0.0 UCMA 4.0 VS2010/VS2013

Mr *_*Neo 7 c# visual-studio-2010 ucma lync-server-2013

我在VS 2013和VS 2010上都开发了一个UCMA 4.0应用程序.运行项目时,我收到了这个错误:

无法加载文件或程序集'SIPEPS,Version = 5.0.0.0,Culture = neutral,PublicKeyToken = 31bf3856ad364e35'或其依赖项之一.该系统找不到指定的文件.

我使用了.NET4并设置了目标构建平台x64.由dependwalker_x64检查,没有文件丢失.

我还使用了Sample中的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>
Run Code Online (Sandbox Code Playgroud)

我该怎么做这个问题?非常感谢您的帮助!

Tha*_*rif 19

异常可能非常令人困惑,因为UCMA项目不需要显式引用此SIPEPS DLL,即使您找到DLL并将其移动到与应用程序相同的目录中,通常也会获得异常.

事实证明,这通常是由两件事之一引起的:

  1. 您已针对错误版本的.NET Framework.
  2. 您已针对错误类型的CPU.

在Visual Studio中打开项目的属性,并确保选中.NET Framework 4.5.

如果您没有运行Visual Studio 2012,则会出现更大的问题,

因为您无法在Visual Studio 2010及更早版本中使用.NET 4.5.如果您选择了早期版本的框架,请更改它,重建项目,然后重试.UCMA 4.0列出了.NET 4.5作为要求.

如果你仍然得到例外,

检查目标平台并确保所有项目都是任何CPUx64.

自3.0版以来,UCMA仅在64位计算机上运行,​​有时会发生一个项目无意中设置为x86,因此会尝试在启动时加载32位版本的SIPEPS.dll.好吧,没有32位版本的SIPEPS.dll; 因此有点误导性的例外.

参考

  • 我实际上必须明确地将目标平台设置为x64才能使用(在UCMA 5.0中).AnyCPU还不够. (3认同)