我一直困扰着Newtonsoft.Json似乎在我的项目中有多个版本的问题.问题是它不是.我在项目中安装了10个,这是唯一的DLL.GAG没有dll,web.config似乎是正确的.
The type 'JsonConvert' exists in both 'Newtonsoft.Json, Version=9.0.0.0, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed' and 'Newtonsoft.Json, Version=10.0.0.0, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed'
Run Code Online (Sandbox Code Playgroud)
有没有人见过这个?有没有办法指定在代码级别或web.config中使用的版本?
Aar*_*and 11
这似乎是由于对 Newtonsoft.Json DLL 的多次不可见引用
错误应该消失了。
小智 9
尝试安装以前版本的newtonsoft.json
在我的情况下,我从6更新了newtonsoft到11.0.2.编译给出了包含版本6和11的此错误消息.我尝试卸载,但我没有,导致依赖.但我使用了这个命令,我成功降级了.安装包Newtonsoft.Json -Version 11.0.1
而这个错误消失了.
您应该强制只加载一个程序集,我建议加载最新的一个。您可以检查所有引用的程序集是否都使用该版本。如果没有,您必须将其添加到您的web.config文件中:
<runtime>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<dependentAssembly>
<assemblyIdentity name="Newtonsoft.Json" culture="neutral" publicKeyToken="30ad4fe6b2a6aeed" />
<bindingRedirect oldVersion="0.0.0.0-10.0.0.0" newVersion="10.0.0.0" />
</dependentAssembly>
</assemblyBinding>
</runtime>
Run Code Online (Sandbox Code Playgroud)
这将强制使用 10 版Newtonsoft.Json。确保从bin文件夹中删除版本 9。