NuGet的简单使用
什么是NuGet?
NuGet(讀作New Get)是用于微軟.NET開(kāi)發(fā)平臺(tái)的軟件包管理器,是一個(gè)Visual Studio的擴(kuò)展。在使用Visual Studio開(kāi)發(fā)基于.NET Framework的應(yīng)用時(shí),NuGet能夠令你在項(xiàng)目中添加、移除和更新引用的工作變得更加快捷方便。
通過(guò)NuGet你可以很容易的訪(fǎng)問(wèn)到其他開(kāi)發(fā)者發(fā)布的軟件包,你也可以創(chuàng)建、分享或者發(fā)布自己的包到NuGet。微軟的EntityFramework、ASP.NET MVC等或者一些常用到的第三方軟件包:Json.NET、NUnit等都托管到NuGet上。
為什么要用NuGet?
上面說(shuō)道NuGet實(shí)際上就是一個(gè)軟件包的托管平臺(tái)。用過(guò)VS的人可能都知道一個(gè)叫做VisualStudioGallery的網(wǎng)站,通過(guò)這個(gè)網(wǎng)站你可以下載使用一些VS的擴(kuò)展工具、項(xiàng)目模板或者一些常用的軟件包,VS中也提供了一個(gè)叫做“擴(kuò)展和更新”的工具能夠讓你輕松的訪(fǎng)問(wèn)到VisualStudioGallery中的內(nèi)容。
那么NuGet和VisualStudioGallery有什么區(qū)別?我們?yōu)槭裁匆肗uGet?
-
NuGet和VisualStudioGallery的區(qū)別
首先NuGet是VS的一個(gè)擴(kuò)展,而VisualStudioGallery是VS擴(kuò)展的一個(gè)托管平臺(tái),所以NuGet是包含在VisualStudioGallery內(nèi)的,其次NuGet和VisualStudioGallery的關(guān)注點(diǎn)不同,VisualStudioGallery主要是服務(wù)于VS為VS提供插件托管服務(wù)的平臺(tái),
而NuGet是.NET軟件包的管理平臺(tái),是為我們項(xiàng)目中使用的軟件包提供托管服務(wù)的。在項(xiàng)目開(kāi)發(fā)中難免會(huì)引用一些其他人開(kāi)發(fā)的類(lèi)庫(kù),NuGet就是為了方便我們引用各種類(lèi)庫(kù)而存在的。 -
為什么要用NuGet?
一個(gè)大的項(xiàng)目不可能所有的功能都要自己去實(shí)現(xiàn),有句話(huà)說(shuō)的好:“不要輕易造輪子”,最簡(jiǎn)單直接的辦法就是使用別人造好的“輪子”。通常引用一個(gè)類(lèi)庫(kù)到我們的項(xiàng)目中要先下載或找到類(lèi)庫(kù),然后復(fù)制到項(xiàng)目目錄,最后添加引用。
如果我們引用的類(lèi)庫(kù)有更新的版本并且我們想使用的話(huà)又要重新添加引用,一兩個(gè)倒還好,如果引用數(shù)量較多的話(huà)重復(fù)添加引用是比較麻煩和枯燥的,并且要卸載引用的時(shí)候還是要經(jīng)過(guò)幾個(gè)步驟。
這也就是為什么推薦使用NuGet的原因,NuGet能夠讓我們輕松的實(shí)現(xiàn)對(duì)軟件包的引用、更新和卸載。
NuGet怎么使用?
前面已經(jīng)說(shuō)了什么是NuGet以及我們?yōu)槭裁匆肗uGet,接下來(lái)我就通過(guò)一個(gè)簡(jiǎn)單的控制臺(tái)程序來(lái)說(shuō)說(shuō)怎么用NuGet。
-
1.安裝NuGet
你可以從VS的擴(kuò)展和更新中安裝NuGet。
或者從NuGet官方下載安裝包。
-
2.使用NuGet可視化管理器
通過(guò)可視化的NuGet管理器你可以瀏覽當(dāng)前項(xiàng)目已經(jīng)安裝的包或者瀏覽、搜索其他的包。
我們選中Newtonsoft.Json,在右側(cè)就會(huì)出現(xiàn)Newtonsoft.Json的詳細(xì)信息,選中要將Newtonsoft.Json下載到的項(xiàng)目,然后點(diǎn)擊安裝。NuGet會(huì)在解決方案目錄下創(chuàng)建packages目錄并將包下載到該目錄
下載完成后VS會(huì)自動(dòng)將Newtonsoft.Json添加到我們的引用。通過(guò)這個(gè)管理器你可以方便的對(duì)你引用的包進(jìn)行可視化管理。
-
3.使用NuGet控制臺(tái)管理器
除了可視化的管理器外NuGet也為我們提供了一個(gè)控制臺(tái)應(yīng)用,通常我更喜歡使用控制臺(tái)管理器,因?yàn)槭褂煤?jiǎn)單的命令我就能對(duì)包進(jìn)行管理。
打開(kāi)NuGet控制臺(tái)管理器。通過(guò)?Install-Package “包名”?這個(gè)命令我們就能完成對(duì)Newtonsoft.Json這個(gè)包的引用。
除此之外還可以通過(guò)?get-help NuGet?來(lái)獲取其他命令的信息。
Get-Package:獲取當(dāng)前已經(jīng)安裝的包
UnInstall-Package:卸載某個(gè)包
Update-Package:升級(jí)某個(gè)包
等常用命令,更多命令以及NuGet的詳細(xì)內(nèi)容可以查看NuGet官方文檔
總結(jié)
NuGet的存在使得我們不需要過(guò)多的去考慮引用軟件包方面的各種問(wèn)題,我們只需要記住幾個(gè)簡(jiǎn)單的命令就能輕松的實(shí)現(xiàn)對(duì)軟件包引用。但它的作用不僅于此,你還可以創(chuàng)建自己的軟件包并發(fā)布到NuGet上
供他人使用,你也可以搭建自己的服務(wù)器來(lái)托管你的軟件包,這個(gè)對(duì)于大公司來(lái)說(shuō)很實(shí)用,可以將內(nèi)部開(kāi)發(fā)的軟件包統(tǒng)一托管起來(lái),并且方便使用。后面我會(huì)繼續(xù)深入的分析NuGet的使用。
總結(jié)
以上是生活随笔為你收集整理的NuGet的简单使用的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: “4nm EUV”功耗降低40% Int
- 下一篇: 【转】Dynamics 365中配置和使