码迷,mamicode.com
首页 > Web开发 > 详细

Newtonsoft.Json 版本冲突解决

时间:2016-04-09 16:41:35      阅读:907      评论:0      收藏:0      [点我收藏+]

标签:

在做asp.net MVC 开发时,因为引用的dll 中使用了更高版本的 Newtonsoft.Json ,导致运行时发生错误,

查资料说是因为webApi使用了Newtonsoft.Json 导致了,我的项目中没有用到webapi,因此,在Global.asax 中把 下面这行代码屏蔽后,果然不再报错了。

 

   //   WebApiConfig.Register(GlobalConfiguration.Configuration);

 

但是,当我在发布该项目时,又遇到了以下错误:

无法解决“Newtonsoft.Json, Version=7.0.0.0, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed”与“Newtonsoft.Json, Version=4.5.0.0, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed”之间的冲突。正在随意选择“Newtonsoft.Json, Version=7.0.0.0, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed”。
1>  请考虑使用 app.config 将程序集“Newtonsoft.Json, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed”从版本“4.5.0.0”[D:\Program Files (x86)\Microsoft Visual Studio 12.0\Blend\Newtonsoft.Json.dll]重新映射到版本“7.0.0.0”[E:\project\.....\Debug\Newtonsoft.Json.dll],以解决冲突并消除警告。
1>C:\Program Files (x86)\MSBuild\12.0\bin\Microsoft.Common.CurrentVersion.targets(1635,5): warning MSB3247: 发现同一依赖程序集的不同版本间存在冲突。在 Visual Studio 中,请双击此警告(或选择此警告并按 Enter)以修复冲突;否则,请将以下绑定重定向添加到应用程序配置文件中的“runtime”节点: <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1"><dependentAssembly><assemblyIdentity name="Newtonsoft.Json" culture="neutral" publicKeyToken="30ad4fe6b2a6aeed" /><bindingRedirect oldVersion="0.0.0.0-7.0.0.0" newVersion="7.0.0.0" /></dependentAssembly></assemblyBinding>

虽然该错误并没有影响到程序运行,但是我还是觉得不爽,细看说明,原理微软在提示我们时,就把解决方法告诉了我们:

否则,请将以下绑定重定向添加到应用程序配置文件中的“runtime”节点:
 <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1"><dependentAssembly><assemblyIdentity name="Newtonsoft.Json" culture="neutral" publicKeyToken="30ad4fe6b2a6aeed" /><bindingRedirect oldVersion="0.0.0.0-7.0.0.0" newVersion="7.0.0.0" /></dependentAssembly>
</assemblyBinding>

 意思是,把上面这串xml 代码放到runtime 节点里,把用到0.0.0.0-7.0.0.0 版本的dll 的地方,全部重新定位到7.0.0.0 版本,因为这个dll基本可以兼容,所以问题得到解决。

 

推而广之,其他的dll冲突也可以用这种方式解决。

 

Newtonsoft.Json 版本冲突解决

标签:

原文地址:http://www.cnblogs.com/NewBigLiang/p/5371745.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!