安装 NuGet 客户端工具

想要安装软件包? 请参阅 安装 NuGet 包的方法

若要将 NuGet 用作包使用者或创建者,可以在Visual Studio中使用命令行接口(CLI)工具和 NuGet 功能。 本文简要概述了各种工具的功能。 它还介绍了如何安装它们,并 比较工具中功能的可用性

NuGet 快速入门

若要开始使用 NuGet 来使用包,请参阅以下文章:

若要开始创建 NuGet 包,请参阅以下文章:

工具概述

工具 说明 下载
dotnet SDK 用于 .NET 和 .NET 标准库的 CLI 工具,以及适用于任何 SDK 样式项目的工具,例如面向 .NET Framework 的项目。 此 CLI 工具包含在 .NET SDK 中,并在所有平台上提供核心 NuGet 功能。 在 Visual Studio 2017 及更高版本中,dotnet CLI 会自动随任何.NET相关工作负荷一起安装。 .NET SDK
nuget.exe 用于 .NET 框架库和任何非 SDK 样式项目(如面向 .NET Standard 库)的 CLI 工具。 在 Windows Mono 下运行时,此 CLI 工具提供 macOS 和 Linux 上的所有 NuGet 功能以及大多数功能。 nuget.exe
Visual Studio 包括 NuGet Package Manager的完整集成开发环境(IDE)。 Visual Studio提供 Package Manager UIPackage Manager 控制台(Windows 上的 PowerShell)。 可以使用这些工具运行大多数 NuGet 操作。 Visual Studio
Visual Studio Code 适用于 Windows、macOS 和 Linux 的轻型开源代码编辑器,通过市场扩展提供 NuGet 功能。 还可以从 Visual Studio Code 内使用 dotnet SDK 或 nuget.exe CLI 工具。 Visual Studio Code

还可以使用 Microsoft Build Engine (MSBuild) CLI还原和创建包。 但 MSBuild 不是使用 NuGet 的常规用途工具。 此 CLI 工具主要适用于构建服务器。

Package Manager控制台命令仅在Windows上的Visual Studio内工作,在其他 PowerShell 环境中不起作用。

支持策略

有关Windows版Visual Studio的支持政策,请参阅Visual Studio产品生命周期和服务

最新版本 nuget.exe 得到全面支持,并可用于错误修复、更新和增强功能。 有关支持策略的详细信息 nuget.exe ,请参阅 新式生命周期策略

有关 .NET SDK 支持策略,请参阅 .NET 和 .NET 核心支持策略

补丁版本

仅当 Visual Studio 或 .NET SDK 的长期支持(LTS)版本需要重要的安全修复时,才会发布nuget.exe的修补版本。

所有安全漏洞都应通过 MSRC 报告页面 向 Microsoft 安全响应中心(MSRC)报告。 有关报告安全问题的详细信息,请参阅 NuGet.Client 存储库中的安全策略

NuGet.exe 取消显示

nuget.exe中删除了不再支持、已弃用或易受攻击的tools.json版本。

Visual Studio

在 Visual Studio 2017 及更高版本中,Visual Studio 安装程序包括 NuGet 包管理器,适用于使用 .NET 的任何工作负载。

还可以单独安装Package Manager或验证安装。 运行Visual Studio安装程序,并在 Individual components>Code 工具>NuGet 包管理器下检查选项设置。 有关详细信息,请参阅 在 Visual Studio 中使用 NuGet 包管理器来安装和管理包

CLI 工具

可以使用 dotnet CLI 或 nuget.exe CLI 支持 Visual Studio IDE 中的 NuGet 功能。 dotnet CLI 随某些Visual Studio工作负载(如 .NET)一起安装。 nuget.exe CLI 必须单独安装,如前所述。 有关工具的功能比较,请参阅 “功能可用性 ”部分。

  • 若要以 .NET 或 .NET Standard 为目标,请使用 dotnet SDK CLI 工具。 SDK 样式的项目格式需要此 CLI,因为该格式使用 SDK 属性

  • 若要面向 .NET Framework(非 SDK 样式项目),请使用 nuget.exe CLI 工具。 如果项目从 packages.config 格式迁移到 PackageReference 格式,请使用 dotnet SDK CLI 工具。

dotnet SDK

dotnet SDK 是.NET CLI 工具。 它适用于所有平台(Windows、macOS 和 Linux),并提供核心 NuGet 功能,例如安装、还原和发布包。 dotnet CLI 提供与.NET项目文件的直接集成,例如 .csproj 文件,在大多数情况下都很有用。 此 CLI 也直接针对每个平台生成,不需要安装 Mono

安装 dotnet SDK

若要了解如何通过 dotnet SDK CLI 工具使用基本命令,请参阅 使用 dotnet CLI 安装和管理 NuGet 包

nuget.exe 命令行界面 (CLI)

NuGet CLI nuget.exe是用于提供所有 NuGet 功能的Windows的命令行实用工具。 此 CLI 还可以使用 Mono 在 macOS 和 Linux 上运行,但存在一些限制。

若要了解如何通过 nuget.exe CLI 工具使用基本命令,请参阅 使用 nuget.exe CLI 管理 NuGet 包

安装 nuget.exe

始终安装支持配置的工具的 最新版本

nuget.exe如果已安装 CLI 工具,可以使用命令nuget update -self将该工具更新到最新版本。

  1. 下载 nuget.exe

  2. 出现提示时,将文件保存到所选的文件夹。 直接下载nuget.exe 文件。 下载的文件不是安装程序,因此无需直接从浏览器运行该文件。

  3. 若要从任何文件夹中使用 CLI 工具,请将包含 nuget.exe 文件的文件夹添加到 PATH 环境变量。

功能可用性

下表比较了 dotnet CLI、nuget.exe CLI 和 Visual Studio 工具在各支持平台上的可用功能。

功能 dotnet CLI(命令行界面) nuget CLI (Windows) nuget CLI(Mono) Visual Studio
搜索软件包
安装或卸载包 ✔ (1)
更新程序包
恢复软件包 ✔ (2)
管理包源
管理库中的包
为源设置 API 密钥
创建包 (3) ✔ (4)
发布软件包
复制软件包
管理 全局包 和缓存文件夹
管理 NuGet 配置

功能说明:

  • (1) 使用此功能不会影响项目文件。 请改用 dotnet SDK CLI 工具。
  • (2) 此功能仅适用于 packages.config 文件,不适用于解决方案(.sln.slnx)文件。
  • (3) 只能通过 CLI 使用各种高级包功能,因为它们未在 Visual Studio UI 工具中表示。
  • (4) 此功能适用于 .nuspec 文件,但不适用于项目文件。

即将推出的功能

若要预览即将推出的 NuGet 功能,请安装 insiders Channel 版本的 Visual Studio,该版本与稳定版本的 Visual Studio 并排工作。 若要报告问题或共享预览版的想法,请在 NuGet GitHub 存储库上提出问题。

从事 Windows 开发的人员还可以探索 NuGet 包资源管理器。 此应用程序是一种开源独立工具,可用于直观浏览、创建和编辑 NuGet 包。 它适用于许多方案,例如,在不重新生成包的情况下对包结构进行实验性更改。