本文介绍了在新的 ASP.NET MVC 5 项目中更新 NuGet 包引用后,如何修复与 JSON.NET 的程序集版本冲突?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我在 VS 2013(更新 1)中创建了一个新的 ASP.NET MVC 5 Web 项目,然后更新了所有 NuGet 包.当我构建项目时,我收到以下警告:

I created a new ASP.NET MVC 5 web project in VS 2013 (Update 1) then updated all NuGet packages. When I build the project, I get the following warning:

警告 MSB3243:无法解决Newtonsoft.Json, Version=6.0.0.0, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed"和Newtonsoft.Json, Version=4.5.0.0, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed"之间的冲突".

但是,当我检查 web.config 时,我发现绑定重定向已经到位:

When I check the web.config, however, I see that a binding redirect is in place:

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

这正是警告所建议的.

如何解决此警告?

推荐答案

这里是我用来修复警告的步骤:

Here the steps I used to fix the warning:

  • 在 VS 中卸载项目
  • 编辑 .csproj 文件
  • 搜索所有对 Newtonsoft.Json 程序集的引用
    • 找到两个,一个到 v6,一个到 v5
    • 将 v5 的引用替换为 v6

    这篇关于在新的 ASP.NET MVC 5 项目中更新 NuGet 包引用后,如何修复与 JSON.NET 的程序集版本冲突?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

08-04 00:24