最近在開發項目中安裝了Newtonsoft.Json組件,遇到了必須給Newtonsoft.Json降版本的問題。
原因是項目是MVC項目,WebApi模塊必須使用4.5.0.0的版本,而我們在安裝其他組件時,不小心,同時也升級了Newtonsoft.Json,導致了系統可以編譯通過,而在運行時,出現找不到4.5.0.0指定版本的Newtonsoft.Json的程序集。嘗試使用Nuget中的命令:Uninstall-package Newtonsoft.Json 卸載,結果有其他組件依賴給組件,不允許卸載。嘗試N次,無果。
經過同事指點又換了一個思路重新嘗試,通過修改packages.config中的:
修改前:<package id="Newtonsoft.Json" version="6.0.0" targetFramework="net45" />
修改后:<package id="Newtonsoft.Json" version="4.5.11" targetFramework="net45" />
然后,在程序包管理控制台下,執行:
Update-Package -ProjectName 'Ko.app.web' -Reinstall
該語句作用:按照packages.config中給出的程序組件,重新下載安裝一遍。注意:這次我們安裝的Newtonsoft.Json就是:4.5.11版本了.
折騰了大半天,才終於解決了這個問題。
需要注意:MVC4中強制引用了Newtonsoft.Json 4.5.11,如果引用了超過該版本的Newtonsoft.Json.dll,則會出現尋找該版本dll的錯誤,切記只引用合適版本dll。
Package Manager Console Powershell Reference:http://docs.nuget.org/docs/reference/package-manager-console-powershell-reference
參考過的文獻:http://codego.net/335086/
