想要安装软件包? 请参阅 安装 NuGet 包的方法。
若要将 NuGet 用作包使用者或创建者,可以在Visual Studio中使用命令行接口(CLI)工具和 NuGet 功能。 本文简要概述了各种工具的功能。 它还介绍了如何安装它们,并 比较工具中功能的可用性。
NuGet 快速入门
若要开始使用 NuGet 来使用包,请参阅以下文章:
若要开始创建 NuGet 包,请参阅以下文章:
- 使用 dotnet CLI 创建和发布包
使用Visual Studio(仅限Windows)
工具概述
| 工具 | 说明 | 下载 |
|---|---|---|
| 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 UI 和 Package 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.exeCLI 工具。 如果项目从packages.config格式迁移到PackageReference格式,请使用 dotnet SDK CLI 工具。
dotnet SDK
dotnet SDK 是.NET CLI 工具。 它适用于所有平台(Windows、macOS 和 Linux),并提供核心 NuGet 功能,例如安装、还原和发布包。 dotnet CLI 提供与.NET项目文件的直接集成,例如 .csproj 文件,在大多数情况下都很有用。 此 CLI 也直接针对每个平台生成,不需要安装 Mono。
安装 dotnet SDK
在开发人员计算机上,安装 .NET SDK。 在 Visual Studio 2017 及更高版本中,dotnet CLI 会自动随任何.NET相关工作负荷一起安装。
对于构建服务器,请按照说明在持续集成(CI)环境中使用 .NET 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将该工具更新到最新版本。
下载
nuget.exe:- 若要下载最新的推荐版本,请转到 https://dist.nuget.org/win-x86-commandline/latest/nuget.exe。
- 若要下载已弃用的版本 2.8.6,若要保持与较旧的持续集成系统的兼容性,请转到 https://dist.nuget.org/win-x86-commandline/v2.8.6/nuget.exe。 版本 2.8.6 与 Mono 不兼容。
- 若要选择要下载的版本,请转到 nuget.org/downloads。
- 版本 5.0 及更高版本需要.NET Framework 4.7.2 或更高版本。
- 需要版本 4.1.0 或更高版本才能将包发布到 nuget.org。
出现提示时,将文件保存到所选的文件夹。 直接下载nuget.exe 文件。 下载的文件不是安装程序,因此无需直接从浏览器运行该文件。
若要从任何文件夹中使用 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 存储库上提出问题。
相关内容
- 在 Visual Studio 中使用 NuGet 包管理器安装和管理包
- 使用 dotnet CLI 安装和管理 NuGet 包
- 使用 NuGet CLI 管理 NuGet 包
- 使用 Visual Studio 包管理器控制台 (PowerShell) 管理包
- 使用 nuget.exe CLI 创建包
- 发布 NuGet 包
- Package Manager 控制台的 PowerShell 参考
从事 Windows 开发的人员还可以探索 NuGet 包资源管理器。 此应用程序是一种开源独立工具,可用于直观浏览、创建和编辑 NuGet 包。 它适用于许多方案,例如,在不重新生成包的情况下对包结构进行实验性更改。