通過程序包控制台安裝Newtonsoft.Json,NuGet會自動加載最新的版本是6.0.8,結果編譯程序后出現如下錯誤:
未能加載文件或程序集“Newtonsoft.Json, Version=4.5.0.0, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed”或它的某一個依賴項。系統找不到指定的文件。
原因:asp.net程序引用Newtonsoft.Json會去找Newtonsoft.Json包,如果找不到會默認去引用版本4.5.0.0,這樣就產生了沖突。導致整個web程序無法執行,上傳到服務器后輸入域名會出現一堆的路徑列表。
解決方法:
1、通過vs2012:工具→庫程序包管理器→程序包管理器控制台→打開控制台執行:PM> install-package newtonsoft.json [項目文件],執行后稍等片刻 Newtonsoft.Json就會加載到相應的項目引用中。
2、保證bin文件夾中有Newtonsoft.Json包
3、在webconfig文件中添加:
<runtime>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<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>
</assemblyBinding>
</runtime>
這樣保證程序加載最新的包版本6.0.0.0
4.重新編譯
