无法在DotNetNuke中加载文件或程序集EntityFramework

时间:2016-12-10 08:17:50

标签: entity-framework dotnetnuke dotnetnuke-module

我在DotNetNuke中有一个旧模块。我在项目中使用了EF 5:

EF

我将模块添加到DotNetNuke并且它正常工作。但是,当我添加需要重新安装到EF 6的新模块时,我的模块给了我一个错误:

  

无法加载文件或程序集'EntityFramework,Version = 5.0.0.0,   Culture = neutral,PublicKeyToken = b77a5c561934e089'或其中一个   依赖。定位程序集的清单定义没有   匹配程序集引用。

安装此新模块时,EntityFramework 6 dll文件将替换为旧版本(Version = 5.0.0.0)文件,这会导致旧模块无效。

我读了许多解决这个问题的帖子,但我找不到解决这个问题的方法。

如果有人可以解释这个问题的解决方案,那将非常有用。

2 个答案:

答案 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>