NuGet包管理平台

    這節來講一下.NET下的包管理平台:NuGet。

    我們做一個項目,除了自己的程式碼文件之外,實際上還要引用諸多程式碼文件,這些文件可能是我們自己封裝的底層框架程式碼,或者為了完成某個功能而引用的工具類文件等等。在.NET裡邊,這些可被引用的,負責完成某個可復用功能的程式碼,我們可以封裝為動態鏈接庫(Dynamic Link Library,.dll),也可以通俗說打包,在需要的地方,我們把這個包引用到項目中,就可以使用其功能。NuGet就是一個專門管理這些包的平台,所有開發者可以將自己的優秀程式碼打包上傳到這個平台,供全球開發者使用。並且,在這個平台上,我們可以查看到這個包的依賴,比如這個包依賴.NET Framework 4.5的環境,那我們就知道自己的項目可不可以使用這個包,或者這個包可以還要依賴一些另外的包,我們可以清楚的了解到這一整個層級關係。

    我們可以訪問:www.nuget.org,來進入NuGet網站,從中搜索自己需要的包。

    以QRCoder這個包為例子(www.nuget.org/packages/QRCoder)。我們可以看到它支援哪些框架,以及如何通過命令行的形式將其引用到項目中(我們稍後演示),點擊中間這些頁簽可以查看其具體支援的框架版本,依賴及它自己的發布版本歷史等等。同時在右側這一欄中,可以看到項目網站,源程式碼鏈接,開源許可等等。通過網站中這些資訊,我們可以更好地去判斷自己的項目是否可以放心的使用這個包。

    VisualStudio支援通過圖形介面和命令行兩種形式來使用NuGet引入自己需要的包,下面來為大家演示一下:

  • 圖形介面

    我們可以在項目或者解決方案上點擊滑鼠右鍵,在彈出菜單中選擇「管理NuGet包」進入NuGet包管理圖形介面。

    我們還是以QRCoder包為例子,如果從解決方案右鍵進入此介面,點擊這一條後,右側會顯示該解決方案下所有的項目,您需要選擇至少一個項目,指定哪個項目要使用這個包,同時在項目選擇框下方,您可以選擇要引用的版本(系統默認最新穩定版),然後點擊「安裝」按鈕,系統開始下載並自動安裝該包,安裝時,系統會自動將這個包的依賴一併下載安裝,我們靜待安裝完成即可。
    安裝以後,安裝按鈕上方的卸載按鈕會被激活,如果經測試該包的功能不合適自己的項目,您可以回到此點擊卸載。對於已安裝的包,您可以在「已安裝」這個頁面查看或者在雙擊項目名稱在配置文件中查看:

    如果被引用的包出現了新版本,您可以在「更新」頁面查看,是否更新,可以您自行判斷。

  • 包管理器命令行

    您可以通過以下兩種方式打開包管理器命令行:

    點擊後,會在VS頁面底部彈出命令行介面:

    另外,您可以指定要包的來源(Package source)和要引用的項目(Default project):

    對於包的來源,您也可以點擊後邊的小齒輪按鈕,自定義來源,對於某些在公司內部共享的包,您可以通過此介面來配置為公司內部NuGet網站:

    您可以使用以下三種命令來完成包的安裝,更新和卸載:

Install-Package 包名 [-Version 版本號] //安裝
Update-Package 包名 [-Version 版本號] //更新
Uninstall-Package 包名 //卸載

    這個方式也比較簡單,在NuGet網站中,每個包的主頁也能看到這些命令,您可以直接複製: