NuGet的学习小记
这两天由于公司需求,需要升级APP支持语音,语音推送需要极光的最新架包,老办法解决不了新问题了。
最新架包需要使用NuGet;
NuGet页:摸这里
程序包管理器指令:PM> Install-Package Jiguang.JPush -Version 1.2.5
升级好之后发现,编译失败。
原来在安装极光推送包的时候,NeGet自动将Newtonsoft.Json升级到了9.0.1版本;而最早在新建项目时(我的项目是.Net Framework4.5)系统在Global.asax自动生成了代码:
WebApiConfig.Register(GlobalConfiguration.Configuration);
这其中的WebApi都依赖于Newtonsoft.Json 4.5.11版本,这样就导致Newtonsoft.Json版本冲突。好在项目中并没有使用WebApi的功能,所以将这两行代码注释掉就编译通过了。然而事情并没有看上去那么顺利。
解决方案中好几个项目都使用了Newtonsoft.Json。这些项目中的Newtonsoft.Json版本各自都不同(团队成员开发过程中各自引用导致的混乱),其中一个公用的底层使用的还是4.5.11版本,好吧,升级它到指定的版本,和极光的版本保持一致。
程序包管理器指令:PM> Install-Package Newtonsoft.Json -version 9.0.1 (安装指定版本的Package)
程序包管理器指令:PM> Update-Package Newtonsoft.Json -version 9.0.1 (更新到指定版本的Package)
Ok,到此为止,整个项目编译通过并且也能正常跑通了。
但是在发布的时候出现了一些小小的异常,逼死了我这个强迫症。
就是在发布的时候总是多出了两行额外的警告信息:
--------------------------------------------------------------------------------
另外,还百度了一些其他的方法,就是重装Newtonsoft.Json:
程序包管理器指令:PM> Update-Package –reinstall Newtonsoft.Json
然而,重装好了之后,各个项目都还是原来的版本,并没什么用。
后记:
有时候不注意很容易将安装包安装到不需要的项目上,这时候可以卸载。
正常卸载:Uninstall-Package <程序包名>;如 Uninstall-Package Jiguang.JPush -Version 1.2.2
强制卸载:Uninstall-Package <程序包名> -Force