激情欧美日韩一区二区|国产18在线播放|黄的日本免费大片|国产色在线 | 亚洲|青青操夜夜操

NuGet的學(xué)習(xí)小記

歡歡歡歡 發(fā)表于 2018-8-22 15:49

這兩天由于公司需求,需要升級(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í)候總是多出了兩行額外的警告信息:

--------------------------------------------------------------------------------

請(qǐng)考慮使用 app.config 將程序集“Newtonsoft.Json, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed”從版本“6.0.0.0”[]重新映射到版本“9.0.0.0”[E:\mld\huilinsofts\移動(dòng)端\packages\Newtonsoft.Json.9.0.1\lib\net45\Newtonsoft.Json.dll],以解決沖突并消除警告。
 
C:\Program Files (x86)\MSBuild\12.0\bin\Microsoft.Common.CurrentVersion.targets(1635,5): 警告 MSB3247: 發(fā)現(xiàn)同一依賴程序集的不同版本間存在沖突。在 Visual Studio 中,請(qǐng)雙擊此警告(或選擇此警告并按 Enter)以修復(fù)沖突;否則,請(qǐng)將以下綁定重定向添加到應(yīng)用程序配置文件中的“runtime”節(jié)點(diǎn): <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1"><dependentAssembly><assemblyIdentity name="Newtonsoft.Json" culture="neutral" publicKeyToken="30ad4fe6b2a6aeed" /><bindingRedirect oldVersion="0.0.0.0-9.0.0.0" newVersion="9.0.0.0" /></dependentAssembly></assemblyBinding>
----------------------------------------------------------------------------------------
解決方案就在第二行加粗的部分。按照指示在config文件中配置好之后,終于可以很順心的發(fā)布了。
 

另外,還百度了一些其他的方法,就是重裝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