在我的WCF服务项目中,我使用的是EF 6.1.1,在同一项目中我添加了对使用EF 4.3的库的引用。每当我调用库中需要EF的任何方法时,它都会抛出一个错误:
无法加载文件或程序集'EntityFramework,Version = 4.3.1.0,Culture = neutral,PublicKeyToken = b77a5c561934e089'或其依赖项之一。定位的程序集的清单定义与程序集引用不匹配。 (HRESULT异常:0x80131040)
如何在不更改库中的EF版本以匹配服务版本的情况下解决此问题(反之亦然)?
答案 0 :(得分:0)
如果API中没有重大更改,您可以使用程序集绑定重定向。如果将以下内容添加到.config文件中,则应加载6.1.1 EF程序集而不是绑定的早期版本:
<runtime>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<dependentAssembly>
<assemblyIdentity name="EntityFramework" publicKeyToken="b77a5c561934e089" culture="neutral" />
<bindingRedirect oldVersion="4.3.1.0-6.1.1.0" newVersion="6.1.1.0"/>
</dependentAssembly>
</assemblyBinding>
</runtime>