Asp.net-Mvc
在新的 ASP.NET MVC 5 項目中更新 NuGet 包引用後,如何修復與 JSON.NET 的程序集版本衝突…
我在 VS 2013(更新 1)中創建了一個新的 ASP.NET MVC 5 Web 項目,然後更新了所有 NuGet 包。當我建構項目時,我收到以下警告:
警告 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 時,我看到綁定重定向已經到位:
<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>這正是警告所建議的。
我該如何解決這個警告?
這是我用來修復警告的步驟:
在 VS 中解除安裝項目
編輯 .csproj 文件
搜尋對 Newtonsoft.Json 程序集的所有引用
- 找到了兩個,一個到 v6,一個到 v5
- 將 v5 的引用替換為 v6
重新載入項目
建構和通知程序集引用失敗
查看 References 並看到現在有兩個 Newtonsoft.Json。刪除無法解決的問題。
重建 - 沒有警告