NuGet的簡單使用
什么是NuGet?
NuGet(讀作New Get)是用於微軟.NET開發平台的軟件包管理器,是一個Visual Studio的擴展。在使用Visual Studio開發基於.NET Framework的應用時,NuGet能夠令你在項目中添加、移除和更新引用的工作變得更加快捷方便。
通過NuGet你可以很容易的訪問到其他開發者發布的軟件包,你也可以創建、分享或者發布自己的包到NuGet。微軟的EntityFramework、ASP.NET MVC等或者一些常用到的第三方軟件包:Json.NET、NUnit等都托管到NuGet上。
為什么要用NuGet?
上面說道NuGet實際上就是一個軟件包的托管平台。用過VS的人可能都知道一個叫做VisualStudioGallery的網站,通過這個網站你可以下載使用一些VS的擴展工具、項目模板或者一些常用的軟件包,VS中也提供了一個叫做“擴展和更新”的工具能夠讓你輕松的訪問到VisualStudioGallery中的內容。
那么NuGet和VisualStudioGallery有什么區別?我們為什么要用NuGet?
-
NuGet和VisualStudioGallery的區別
首先NuGet是VS的一個擴展,而VisualStudioGallery是VS擴展的一個托管平台,所以NuGet是包含在VisualStudioGallery內的,其次NuGet和VisualStudioGallery的關注點不同,VisualStudioGallery主要是服務於VS為VS提供插件托管服務的平台,
而NuGet是.NET軟件包的管理平台,是為我們項目中使用的軟件包提供托管服務的。在項目開發中難免會引用一些其他人開發的類庫,NuGet就是為了方便我們引用各種類庫而存在的。 -
為什么要用NuGet?
一個大的項目不可能所有的功能都要自己去實現,有句話說的好:“不要輕易造輪子”,最簡單直接的辦法就是使用別人造好的“輪子”。通常引用一個類庫到我們的項目中要先下載或找到類庫,然后復制到項目目錄,最后添加引用。
如果我們引用的類庫有更新的版本並且我們想使用的話又要重新添加引用,一兩個倒還好,如果引用數量較多的話重復添加引用是比較麻煩和枯燥的,並且要卸載引用的時候還是要經過幾個步驟。
這也就是為什么推薦使用NuGet的原因,NuGet能夠讓我們輕松的實現對軟件包的引用、更新和卸載。
NuGet怎么使用?
前面已經說了什么是NuGet以及我們為什么要用NuGet,接下來我就通過一個簡單的控制台程序來說說怎么用NuGet。
-
1.安裝NuGet
你可以從VS的擴展和更新中安裝NuGet。
或者從NuGet官方下載安裝包。
-
2.使用NuGet可視化管理器
通過可視化的NuGet管理器你可以瀏覽當前項目已經安裝的包或者瀏覽、搜索其他的包。
我們選中Newtonsoft.Json,在右側就會出現Newtonsoft.Json的詳細信息,選中要將Newtonsoft.Json下載到的項目,然后點擊安裝。NuGet會在解決方案目錄下創建packages目錄並將包下載到該目錄
下載完成后VS會自動將Newtonsoft.Json添加到我們的引用。通過這個管理器你可以方便的對你引用的包進行可視化管理。
-
3.使用NuGet控制台管理器
除了可視化的管理器外NuGet也為我們提供了一個控制台應用,通常我更喜歡使用控制台管理器,因為使用簡單的命令我就能對包進行管理。
打開NuGet控制台管理器。通過
Install-Package “包名”
這個命令我們就能完成對Newtonsoft.Json這個包的引用。除此之外還可以通過
get-help NuGet
來獲取其他命令的信息。Get-Package
:獲取當前已經安裝的包UnInstall-Package
:卸載某個包Update-Package
:升級某個包
等常用命令,更多命令以及NuGet的詳細內容可以查看NuGet官方文檔
總結
NuGet的存在使得我們不需要過多的去考慮引用軟件包方面的各種問題,我們只需要記住幾個簡單的命令就能輕松的實現對軟件包引用。但它的作用不僅於此,你還可以創建自己的軟件包並發布到NuGet上
供他人使用,你也可以搭建自己的服務器來托管你的軟件包,這個對於大公司來說很實用,可以將內部開發的軟件包統一托管起來,並且方便使用。后面我會繼續深入的分析NuGet的使用。