NuGet的學(xué)習(xí)小記
這兩天由于公司需求,需要升級(jí)APP支持語音,語音推送需要極光的最新架包,老辦法解決不了新問題了。
最新架包需要使用NuGet;
NuGet頁:摸這里
程序包管理器指令:PM> Install-Package Jiguang.JPush -Version 1.2.5
升級(jí)好之后發(fā)現(xiàn),編譯失敗。
原來在安裝極光推送包的時(shí)候,NeGet自動(dòng)將Newtonsoft.Json升級(jí)到了9.0.1版本;而最早在新建項(xiàng)目時(shí)(我的項(xiàng)目是.Net Framework4.5)系統(tǒng)在Global.asax自動(dòng)生成了代碼:
WebApiConfig.Register(GlobalConfiguration.Configuration);
這其中的WebApi都依賴于Newtonsoft.Json 4.5.11版本,這樣就導(dǎo)致Newtonsoft.Json版本沖突。好在項(xiàng)目中并沒有使用WebApi的功能,所以將這兩行代碼注釋掉就編譯通過了。然而事情并沒有看上去那么順利。
解決方案中好幾個(gè)項(xiàng)目都使用了Newtonsoft.Json。這些項(xiàng)目中的Newtonsoft.Json版本各自都不同(團(tuán)隊(duì)成員開發(fā)過程中各自引用導(dǎo)致的混亂),其中一個(gè)公用的底層使用的還是4.5.11版本,好吧,升級(jí)它到指定的版本,和極光的版本保持一致。
程序包管理器指令:PM> Install-Package Newtonsoft.Json -version 9.0.1 (安裝指定版本的Package)
程序包管理器指令:PM> Update-Package Newtonsoft.Json -version 9.0.1 (更新到指定版本的Package)
Ok,到此為止,整個(gè)項(xiàng)目編譯通過并且也能正常跑通了。
但是在發(fā)布的時(shí)候出現(xiàn)了一些小小的異常,逼死了我這個(gè)強(qiáng)迫癥。
就是在發(fā)布的時(shí)候總是多出了兩行額外的警告信息:
--------------------------------------------------------------------------------
另外,還百度了一些其他的方法,就是重裝Newtonsoft.Json:
程序包管理器指令:PM> Update-Package –reinstall Newtonsoft.Json
然而,重裝好了之后,各個(gè)項(xiàng)目都還是原來的版本,并沒什么用。
后記:
有時(shí)候不注意很容易將安裝包安裝到不需要的項(xiàng)目上,這時(shí)候可以卸載。
正常卸載:Uninstall-Package <程序包名>;如 Uninstall-Package Jiguang.JPush -Version 1.2.2
強(qiáng)制卸載:Uninstall-Package <程序包名> -Force