NuGet的官方說明是:NuGet是一款Visual Studio的擴展,它可以簡單的安裝、升級開源庫和工具。
官網地址:http://www.nuget.org/
官網最醒目的位置就是下載鏈接,安裝完成后我們來快速體驗一把。
手上有個小項目需要使用到json格式,一般情況我會先Google一下有沒有相關的開源庫(這個肯定是有的)。
然后從一些博文中發現了Json.net,然后繼續Google之,找到Json.net的官網,然后下載最新的穩定版本,找出DLL文件引用它。
是不是很復雜?很繁瑣?(其實沒用NuGet之前我一直覺得這樣干很方便的)
使用NuGet我們就可以很快搞定了。
右鍵Managet NuGet Packages
搜索json,然后看看結果和右側的介紹,Json.net排在第一位,點Install安裝。
然后等待下載完成,可以看到引用里面已經有了Json.net了。
那么NuGet到底干了什么呢?下載的開源庫在何處呢?看一下輸出結果就知道了。
在packages文件夾下可以找到相關dll文件。
還有命令行模式可以選用
還是以Json.net舉例,輸入Install-Package Newtonsoft.Json即可。
NuGet還有一個優勢就是可以處理依賴(我個人覺得Net的依賴復雜程度沒有java麻煩)。以Spring.Core為例子,它依賴Common.Logging。
自然NuGet完美解決了。
?
我沒有試升級庫功能,但是個人感覺NuGet還是有一些局限的。
首先需要聯網(其實可以建立自己的服務器...我粗心了,謝謝了樓下各位了),其次是每次都下載新的,而且會把針對不同.Net版本的都down下來。
原文鏈接:http://www.cnblogs.com/htynkn/archive/2012/01/29/use_nuget_tools.html
善用VS2015 NuGet Manager解決方案管理功能
NuGet已經是Visual Studio寫專案時的柴米油鹽醬醋茶了,但有些人可能沒發現在解決方案(.sln,Solution)層也可以開啟NuGet Manager。如下圖,在Solution Explorer的.sln開右鍵選單,有一個「Manage NuGet Packages for Solution…」:

在解決方案開啟NuGet Manager可以一次檢視所有專案的Package安裝狀況,但在VS2013時代,這功能有點雞肋。如以下例子,解決方案里總共有三個專案安裝兩種不同版本HelperSharp,于是NuGet Manager的Package清單會看到兩筆HelperSharp,點選其中一項,右側則會顯示它被安裝在哪幾個專案( Currently installed in projects),點下Manage鈕可以批次移除。

Visual Studio 2015對NuGet Manager介面做了大幅改版,解決方案的套件管理介面變得更貼心好用。首先,同一套件的新舊版本被整合成單一項目,在右側以清單方式呈現套件在各專案的安裝狀況,并直接顯示安裝的版本號碼。如果你常常處理元件版本衡突,一定能了解這張匯總清單有多珍貴。:P

而處理元件版本沖突時,更新到最新版有時不是最佳解,降版牽就某些既有程式庫反而比較省事。過去NuGet Manager UI只提供解除安裝或升級到最新版,要安裝特定版本需要使用命令列工具下指令。VS2015的NuGet Manager安裝套件時可由版本清單選取最新版或歷史版本,還可透過勾選一次安裝或更新多個專案,解決版本衡突一次到位。

身為三不五時要處理元件版本沖突的苦手,發現這個功能的當下,我仿佛看到Visual Studio開發人員對我說「你的痛苦,我懂!」XD 再次為地表最強的開發工具按個贊!