ASP.Net MVC NuGet包管理

在本章中,我們將討論NuGet,它是.NET和Visual Studio的包管理器。 NuGet可以用來查找和安裝軟件包,也就是軟件和程序集以及想在項目中使用的東西。

NuGet不是一個特定於ASP.NET MVC項目的工具。 它是一個工具,可以在Visual Studio中使用控制檯應用程序,WPF應用程序,Azure應用程序以及任何類型的應用程序。

包管理

NuGet是一個軟件包管理器,負責在系統中下載,安裝,更新和配置軟件。 從術語軟件來說,我們並不是指像Microsoft Word或Notepad 2等最終用戶軟件,而是在項目中使用的軟件,程序集引用。

例如,想要使用的程序集可能是模擬的,模擬對象單元測試,NHibernate的數據訪問,以及在構建應用程序時使用的組件。 上述組件是開源軟件,但是發現一些NuGet 軟件包是封閉源碼軟件。您會發現一些軟件包甚至是由微軟生產的。

如上面提到的所有軟件包(如mockNHibernate)和Microsoft軟件包(如Entity Framework的預覽版)在默認情況下它們不包含在Visual Studio中。

不使用NuGet

要在沒有NuGet的情況下安裝這些組件,您將需要經過以下步驟。
ASP.Net MVC NuGet包管理

如果想使用某一個組件,首先需要找到一些特定項目(組件)的主頁,並尋找下載鏈接。 然後項目(組件)下載完成後,它通常是一個ZIP格式,所以需要解壓提取它。

如果沒有下載二進制文件,那麼首先需要構建該軟件,然後在您的項目中引用它。而且這個時候的許多組件還需要一些配置來啓動和運行。

使用NuGet

NuGet取代了前面討論過的所有步驟,只需要「添加軟件包」即可。 NuGet知道如何下載最新版本,知道如何提取它,如何建立對該組件的引用,甚至配置它。 這讓您有更多時間來構建和開發軟件代碼。

下面來看一個簡單的例子,我們將使用NuGet在ASP.NET MVC項目中添加對Entity框架的支持。

第1步 - 安裝實體框架(Entity Framework)。 右鍵單擊該項目,然後選擇管理NuGet程序包 -> NuGet包管理器 以獲得解決方案…,它將打開NuGet包管理器

第2步 - 在搜索框中搜索實體框架 - Entity Framework ,結果如下-
ASP.Net MVC NuGet包管理

第3步 - 選擇實體框架(Entity Framework),然後點擊「安裝」按鈕。 它將打開預覽對話框。
ASP.Net MVC NuGet包管理

接受協議,如下圖所示 -
ASP.Net MVC NuGet包管理

第4步 - 點擊「我接受」按鈕開始安裝。
ASP.Net MVC NuGet包管理

當安裝了實體框架,將看到如上所示的消息。

當使用NuGet安裝軟件包時,會在託管項目的解決方案文件所在的文件夾中看到新的軟件包目錄。此軟件包目錄包含爲該解決方案中的任何項目安裝的所有軟件包。
ASP.Net MVC NuGet包管理

換句話說,NuGet不會將軟件包下載到中央位置,而是將其存儲在每個解決方案之中。