ASP.NET MVC - NuGet 包管理


在本章中,我们将讨论 NuGet,它是 .NET 和 Visual Studio 的包管理器。NuGet 可用于查找和安装包,即软件片段和程序集以及您想要在项目中使用的内容。

NuGet 不是特定于 ASP.NET MVC 项目的工具。这是一个可以在 Visual Studio 内部用于控制台应用程序、WPF 应用程序、Azure 应用程序和任何类型的应用程序的工具。

包管理

NuGet 是一个包管理器,负责下载、安装、更新和配置系统中的软件。从软件一词来看,我们并不是指最终用户软件,例如 Microsoft Word 或 Notepad 2 等,而是指您想要在项目、程序集引用中使用的软件片段。

例如,您想要使用的程序集可能是模拟的,用于模拟对象单元测试,或者是用于数据访问的 NHibernate,以及您在构建应用程序时使用的组件。上述组件是开源软件,但您找到的一些 NuGet 软件包是闭源软件。您会发现有些软件包甚至是由 Microsoft 生产的。

上面提到的所有包(例如 mock 和 NHibernate,以及 Microsoft 包(例如实体框架预览))的共同主题是,它们默认情况下不随 Visual Studio 一起提供。

没有 NuGet

要在不使用 NuGet 的情况下安装任何这些组件,您将需要执行以下步骤。

没有 NuGet 的组件

如果您想使用这些组件之一,您需要找到某个特定项目的主页并查找下载链接。下载项目后,它通常是 ZIP 格式,因此您需要将其解压。

如果您没有下载二进制文件,那么您首先需要构建软件,然后在项目中引用它。此时许多组件仍然需要一些配置才能启动和运行。

使用 NuGet

NuGet 取代了前面讨论的所有步骤,您只需说“添加包”即可。NuGet 知道在哪里下载最新版本,它知道如何提取它,如何建立对该组件的引用,甚至配置它。这让您有更多时间来构建软件。

让我们看一个简单的示例,在该示例中我们将使用 NuGet 在 ASP.NET MVC 项目中添加对实体框架的支持。

步骤 1 - 安装实体框架。右键单击该项目并选择 NuGet 包管理器 → 管理解决方案的 NuGet 包...

选择 NuGet 包管理器

它将打开 NuGet 包管理器。

步骤 2 - 在搜索框中搜索实体框架。

搜索实体框架

步骤 3 - 选择实体框架并单击“安装”按钮。它将打开预览对话框。

预览对话框

步骤 4 - 单击“确定”继续。

预览对话框单击“确定”

步骤 5 - 单击“我接受”按钮开始安装。

我接受安装

安装实体框架后,您将在窗口中看到如上所示的消息。

使用 NuGet 安装包时,您将在托管项目的解决方案文件所在的同一文件夹中看到一个新的包目录。此包目录包含您为该解决方案中的任何项目安装的所有包。

项目中的所有包

换句话说,NuGet 不会将包下载到中央位置,而是根据每个解决方案存储它们。