有两个separete版本的DLL

时间:2016-08-16 15:32:19

标签: .net dll

我有一个Web表单应用程序,它将所有业务逻辑放在一个单独的dll中,并带有它自己的项目。该DLL需要有两个不同版本的Newtonsoft.json。我已尝试在web.config网站和dll app.config文件中使用以下代码但我无法让应用程序从我指定的文件夹中加载dll:s。我仍然收到消息:“无法加载文件或程序集'Newtonsoft.Json,Version = 4.5.0.0,Culture = neutral,PublicKeyToken = 30ad4fe6b2a6aeed'或其中一个依赖项。找到的程序集的清单定义与程序集引用不匹配。 (来自HRESULT的异常:0x80131040)“

关于我可能做错的任何想法?

<runtime>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
  <dependentAssembly>
    <!--<assemblyIdentity name="Newtonsoft.Json" publicKeyToken="30ad4fe6b2a6aeed" culture="neutral" />
    <bindingRedirect oldVersion="0.0.0.0-7.0.0.0" newVersion="7.0.0.0" />-->

    <assemblyIdentity name="Newtonsoft.Json" publicKeyToken ="30ad4fe6b2a6aeed" culture="neutral" />
    <bindingRedirect oldVersion="4.5.0.0" newVersion="5.0.1.0" />
    <bindingRedirect oldVersion="5.0.2.0-99.0.0.0" newVersion="7.0.1.0" />
    <codeBase version="4.5.0.0" href="Bin/Newtonsoft.Json/5.0.1.0/Newtonsoft.Json.dll" />
    <codeBase version="5.0.1.0" href="Bin/Newtonsoft.Json/5.0.1.0/Newtonsoft.Json.dll" />
    <codeBase version="7.0.1.0" href="Bin/Newtonsoft.Json/7.0.1.18622/Newtonsoft.Json.dll" />

    <!--<assemblyIdentity name="Newtonsoft.Json" publicKeyToken="30ad4fe6b2a6aeed" culture="neutral" />
    <bindingRedirect oldVersion="0.0.0.0-65535.65535.65535.65535" newVersion="7.0.1.0" />-->

  </dependentAssembly>
</assemblyBinding>

已解决:在webconfig和appconfig <bindingRedirect oldVersion="0.0.0.0-99.0.0.0" newVersion="7.0.1.0" />中添加以下内容

1 个答案:

答案 0 :(得分:1)

在webconfig和appconfig <bindingRedirect oldVersion="0.0.0.0-99.0.0.0" newVersion="7.0.1.0" />

中添加以下内容