我有一个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" />
中添加以下内容
答案 0 :(得分:1)
在webconfig和appconfig <bindingRedirect oldVersion="0.0.0.0-99.0.0.0" newVersion="7.0.1.0" />