在本章中,我們將討論NuGet,它是.NET和Visual Studio的包管理器。 NuGet可以用來查找和安裝軟件包,也就是軟件和程序集以及想在項目中使用的東西。
NuGet不是一個特定于ASP.NET MVC項目的工具。 它是一個工具,可以在Visual Studio中使用控制臺應(yīng)用程序,WPF應(yīng)用程序,Azure應(yīng)用程序以及任何類型的應(yīng)用程序。
NuGet是一個軟件包管理器,負責在系統(tǒng)中下載,安裝,更新和配置軟件。 從術(shù)語軟件來說,我們并不是指像Microsoft Word或Notepad 2等最終用戶軟件,而是在項目中使用的軟件,程序集引用。
例如,想要使用的程序集可能是模擬的,模擬對象單元測試,NHibernate
的數(shù)據(jù)訪問,以及在構(gòu)建應(yīng)用程序時使用的組件。 上述組件是開源軟件,但是發(fā)現(xiàn)一些NuGet 軟件包是封閉源碼軟件。您會發(fā)現(xiàn)一些軟件包甚至是由微軟生產(chǎn)的。
如上面提到的所有軟件包(如mock
和NHibernate
)和Microsoft軟件包(如Entity Framework的預(yù)覽版)在默認情況下它們不包含在Visual Studio中。
要在沒有NuGet
的情況下安裝這些組件,您將需要經(jīng)過以下步驟。
如果想使用某一個組件,首先需要找到一些特定項目(組件)的主頁,并尋找下載鏈接。 然后項目(組件)下載完成后,它通常是一個ZIP格式,所以需要解壓提取它。
如果沒有下載二進制文件,那么首先需要構(gòu)建該軟件,然后在您的項目中引用它。而且這個時候的許多組件還需要一些配置來啟動和運行。
NuGet取代了前面討論過的所有步驟,只需要“添加軟件包”即可。 NuGet知道如何下載最新版本,知道如何提取它,如何建立對該組件的引用,甚至配置它。 這讓您有更多時間來構(gòu)建和開發(fā)軟件代碼。
下面來看一個簡單的例子,我們將使用NuGet在ASP.NET MVC項目中添加對Entity
框架的支持。
第1步 - 安裝實體框架(Entity Framework)。 右鍵單擊該項目,然后選擇管理NuGet程序包 -> NuGet包管理器 以獲得解決方案…,它將打開NuGet包管理器。
第2步 - 在搜索框中搜索實體框架 - Entity Framework ,結(jié)果如下-
第3步 - 選擇實體框架(Entity Framework),然后點擊“安裝”按鈕。 它將打開預(yù)覽對話框。
接受協(xié)議,如下圖所示 -
第4步 - 點擊“我接受”按鈕開始安裝。
當安裝了實體框架,將看到如上所示的消息。
當使用NuGet安裝軟件包時,會在托管項目的解決方案文件所在的文件夾中看到新的軟件包目錄。此軟件包目錄包含為該解決方案中的任何項目安裝的所有軟件包。
換句話說,NuGet不會將軟件包下載到中央位置,而是將其存儲在每個解決方案之中。