我在DotNetNuke中有一个旧模块。我在项目中使用了EF 5:
我将模块添加到DotNetNuke并且它正常工作。但是,当我添加需要重新安装到EF 6的新模块时,我的模块给了我一个错误:
无法加载文件或程序集'EntityFramework,Version = 5.0.0.0, Culture = neutral,PublicKeyToken = b77a5c561934e089'或其中一个 依赖。定位程序集的清单定义没有 匹配程序集引用。
安装此新模块时,EntityFramework 6 dll文件将替换为旧版本(Version = 5.0.0.0)文件,这会导致旧模块无效。
我读了许多解决这个问题的帖子,但我找不到解决这个问题的方法。
如果有人可以解释这个问题的解决方案,那将非常有用。
答案 0 :(得分:1)
您可以将其添加到您的web.config
<configuration>
<runtime>
<dependentAssembly>
<assemblyIdentity name="EntityFramework" publicKeyToken="b77a5c561934e089" culture="neutral" />
<codeBase version="6.0.0.0" href="bin/EntityFramework-6.1.3/EntityFramework.dll" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="EntityFramework.SqlServer" publicKeyToken="b77a5c561934e089" culture="neutral" />
<codeBase version="6.0.0.0" href="bin/EntityFramework-6.1.3/EntityFramework.SqlServer.dll" />
</dependentAssembly>
</runtime>
</configuration>
你必须将一个名为EntityFramework-6.1.3的文件夹添加到bin文件夹中,然后添加两个跟随dll 1-EntityFramework.dll 2- EntityFramework.SqlServer.dll
答案 1 :(得分:0)
您可以将其添加到web.config
<configuration>
<runtime>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<dependentAssembly>
<assemblyIdentity name="EntityFramework" publicKeyToken="b77a5c561934e089" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-6.1.3.0" newVersion="6.1.3.0" />
</dependentAssembly>
</assemblyBinding>
</runtime>
</configuration>