ASP.NET MVC - NuGet 包管理



在本章中,我们将讨论 NuGet,它是一个用于 .NET 和 Visual Studio 的包管理器。NuGet 可用于查找和安装包,即软件组件、程序集以及您希望在项目中使用的其他内容。

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

包管理

NuGet 是一个包管理器,负责下载、安装、更新和配置系统中的软件。软件一词并非指最终用户软件,例如 Microsoft Word 或 Notepad 2 等,而是指您希望在项目中使用的软件组件、程序集引用。

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

上述所有包(如模拟和 NHibernate 以及 Microsoft 包,例如 Entity Framework 的预览版)的共同点是,它们默认情况下不包含在 Visual Studio 中。

无 NuGet

要安装任何这些组件而无需 NuGet,您需要执行以下步骤。

Components without NuGet

如果您想使用其中一个组件,您需要找到某个特定项目的首页并查找下载链接。然后,一旦项目下载完成,它通常采用 ZIP 格式,因此您需要将其解压缩。

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

使用 NuGet

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

让我们来看一个简单的示例,其中我们将使用 NuGet 在 ASP.NET MVC 项目中添加对 Entity Framework 的支持。

步骤 1 - 安装 Entity Framework。右键单击项目并选择 NuGet 包管理器 → 管理解决方案的 NuGet 包…

Select NuGet Package Manager

它将打开 NuGet 包管理器。

步骤 2 - 在搜索框中搜索 Entity Framework。

Search for Entity Framework

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

Preview Dialog

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

Preview Dialog Click Ok

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

I Accept Installation

安装 Entity Framework 后,您将在输出窗口中看到如下所示的消息。

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

All Packages in Projects

换句话说,NuGet 不会将包下载到中心位置,而是基于每个解决方案进行存储。

广告