安装 NuGet 客户端工具
打算安装包? 查看安装 NuGet 包的方式。
要使用 NuGet,作为软件包使用者或创建者,可以使用命令行接口 (CLI) 工具以及 Visual Studio 中的 NuGet 功能。 本文简要介绍了不同工具的功能,如何安装它们,以及它们功能可用性的相对优势。 若要开始借助 NuGet 来使用包,请参阅安装和使用包 (dotnet CLI) 以及安装和使用包 (Visual Studio)。 若要开始创建 NuGet 包,请参阅创建和发布 NET Standard 包 (dotnet CLI) 以及创建和发布 NET Standard 包 (Visual Studio)。
| 工具 | 说明 | 下载 |
|---|---|---|
| dotnet.exe | 适用于 .NET Core 和 .NET Standard 库,以及适用于任何 SDK 样式项目(例如面向 .NET Framework 的项目)的 CLI 工具。 包含在 .NET Core SDK 中,并在所有平台上提供核心 NuGet 功能。 (从 Visual Studio 2017 开始,dotnet CLI 将自动随任何与 .NET Core 相关的工作负载一起安装。) | .NET Core SDK |
| nuget.exe | 适用于 .NET Framework 库,以及适用于任何 非 SDK 样式项目(例如面向 .NET Standard 库的项目)的 CLI 工具。 提供 Windows 上的所有 NuGet 功能以及 Mac 和 Linux 上在 Mono 下运行时的大多数功能。 | nuget.exe |
| Visual Studio | 在 Windows 上,Visual Studio 2012 及更高版本附带了NuGet 程序包管理器。 Visual Studio 提供包管理器 UI 和包管理器控制台,通过它可以运行大部分的 NuGet 操作。 | Visual Studio |
| Visual Studio for Mac | 在 Mac 上,某些 NuGet 功能是直接内置的。 程序包管理器控制台目前不可用。 对于其他功能,请使用 dotnet.exe 或 nuget.exe CLI 工具。 |
Visual Studio for Mac |
| Visual Studio Code | 在 Windows、Mac 或 Linux 上,可通过 marketplace 扩展使用 NuGet 功能,或者使用 dotnet.exe 或 nuget.exe CLI 工具。 |
Visual Studio Code |
MSBuild CLI 还提供了还原和创建包的功能,该功能主要在生成服务器上使用。 MSBuild 不是与 NuGet 一起使用的通用工具。
程序包管理器控制台命令只能在 Windows 的 Visual Studio 中工作,不能在其他 PowerShell 环境中工作。
Visual Studio
Visual Studio 2017 和更高版本上安装
从 Visual Studio 2017 开始,安装程序包括具有任何采用 .NET 的工作负荷的 NuGet 包管理器。 若要单独安装或验证程序包管理器是否已安装,请运行 Visual Studio 安装程序,并在 "单独组件 > " "代码工具 > " NuGet 程序包管理器"下查看选项。
Visual Studio 2015 及更低版本上安装
可从 https://dist.nuget.org/index.html 下载 Visual Studio 2013 和2015的 NuGet 扩展。
对于 Visual Studio 2010 及更早版本,请安装“适用于 Visual Studio 的 NuGet 包管理器”扩展。 请注意,如果在搜索结果的第一页看不到该扩展,请尝试将 "排序依据" 下拉列表更改为 "大多数下载" 或按字母顺序进行排序。
CLI 工具
可以使用 dotnet cli 或 nuget.exe cli 支持 IDE 中的 NuGet 功能。 dotnet CLI 随某些 Visual Studio 工作负载一起安装,例如 .NET Core。 如前面所述,必须单独安装 nuget.exe CLI。
两个 NuGet CLI 工具是 dotnet.exe 和 nuget.exe。 请参阅功能可用性以进行比较。
- 若要面向 .NET Core 或 .NET Standard,请使用 dotnet CLI。
dotnetCLI 是 SDK 样式项目格式所必需的,该格式使用 SDK 属性。 - 要面向 .NET Framework(仅限非 SDK 样式项目),请使用
nuget.exeCLI。 如果项目从packages.config迁移到 PackageReference,请使用 dotnet CLI。
dotnet.exe CLI
.NET Core 2.0 CLI dotnet.exe 适用于所有平台(Windows、Mac 和 Linux),并提供核心的 NuGet 功能,例如安装、还原和发布程序包。 dotnet 提供了与 .NET Core 项目文件(如 .csproj)的直接集成,这在大多数情况下都很有用。 此外,dotnet 是直接为每个平台构建的,不需要你安装 Mono。
安装:
- 在开发人员计算机上,请安装 .NET Core SDK。 从 Visual Studio 2017 开始,dotnet CLI 将自动随任何与 .NET Core 相关的工作负载一起安装。
- 对于生成服务器,请按照在持续集成 (CI) 中使用 .NET Core SDK 和工具中的说明进行操作。
要了解如何在 dotnet CLI 中使用基本命令,请参阅使用 dotnet CLI 安装并使用包。
nuget.exe CLI
nuget.exe CLI(即 nuget.exe)是适用于 Windows 的命令行实用工具,可提供所有 NuGet 功能;它也可以使用存在一些限制的 Mono 在 Mac OSX 和 Linux 上运行。
要了解如何在 nuget.exe CLI 中使用基本命令,请参阅使用 nuget.exe CLI 安装并使用包。
安装:
Windows
注意
NuGet.exe 5.0 及更高版本需要 .NET Framework 4.7.2 或更高版本才能执行。
- 请访问 nuget.org/downloads,并选择 NuGet 3.3 或更高版本(2.8.6 与 Mono 不兼容)。 始终建议使用最新版。若要将包发布到 nuget.org,版本至少必须是 4.1.0。
- 每次下载都直接下载
nuget.exe文件。 让浏览器将文件保存到选定文件夹。 此文件不是安装程序;如果直接在浏览器中运行,就不会看到任何内容。 - 将文件夹添加到
nuget.exe中放置 PATH 环境变量的位置,这样就可以从任意位置使用 CLI 工具。
macOS/Linux
行为可能因 OS 分发版本略有不同。
安装 Mono 4.4.2 或更高版本。
在 shell 提示符处,执行下列命令:
# Download the latest stable `nuget.exe` to `/usr/local/bin` sudo curl -o /usr/local/bin/nuget.exe https://dist.nuget.org/win-x86-commandline/latest/nuget.exe通过将以下脚本添加到 OS 的相应文件来创建别名(通常为
~/.bash_aliases或~/.bash_profile):# Create as alias for nuget alias nuget="mono /usr/local/bin/nuget.exe"重载 shell。 通过输入
nuget(而不使用任何参数)来测试安装。 应该会看到 NuGet CLI 帮助。
提示
在 Windows 上运行 nuget update -self 可以将现有 nuget.exe 更新为最新版本。
注意
https://dist.nuget.org/win-x86-commandline/latest/nuget.exe 中始终提供推荐的最新 NuGet CLI。 出于兼容性目的,使用较旧的持续集成系统,当前的 URL https://nuget.org/nuget.exe 提供了 弃用的 2.8.6 CLI 工具。
功能可用性
| 功能 | dotnet CLI | nuget CLI (Windows) | nuget CLI (Mono) | Visual Studio (Windows) | Visual Studio for Mac |
|---|---|---|---|---|---|
| 搜索包 | ✔ | ✔ | ✔ | ✔ | |
| 安装/卸载包 | ✔ | ✔ (1) | ✔ | ✔ | ✔ |
| 更新包 | ✔ | ✔ | ✔ | ✔ | |
| 还原包 | ✔ | ✔ | ✔ (2) | ✔ | ✔ |
| 管理包源(来源) | ✔ | ✔ | ✔ | ✔ | |
| 在源上管理包 | ✔ | ✔ | ✔ | ||
| 设置源的 API 密钥 | ✔ | ✔ | |||
| 创建包(3) | ✔ | ✔ | ✔ (4) | ✔ | |
| 发布包 | ✔ | ✔ | ✔ | ✔ | |
| 复制包 | ✔ | ✔ | |||
| 管理 global-packages 文件夹和缓存文件夹。 | ✔ | ✔ | ✔ | ||
| 管理 NuGet 配置 | ✔ | ✔ |
(1) 不影响项目文件;改用 dotnet.exe。
(2) 仅适用于 packages.config 文件,不适用于解决方案 (.sln) 文件。
(3) 只能通过 CLI 使用各种高级包功能,因为 Visual Studio UI 工具中没有它们。
(4) 适用于 .nuspec 文件,但不适用于项目文件。
即将推出的功能
如果希望预览即将推出的 NuGet 功能,请安装 Visual Studio 预览版,该版本与 Visual Studio 稳定版本并行工作。 若要报告问题或分享对预览版的看法,请在 NuGet GitHub 存储库上打开问题。
相关主题
- 使用 Visual Studio 安装和管理包
- 使用 PowerShell 安装和管理包
- 使用 dotnet CLI 安装和管理包
- 使用 nuget.exe CLI 安装和管理包
- 包管理器控制台 PowerShell 引用
- 创建包
- 发布包
在 Windows 上工作的开发人员还可以浏览 NuGet 包资源管理器,它是可直观浏览、创建和编辑 NuGet 包的独立开源工具。 它非常有用,例如,无需重新生成包即可对包结构进行实验性更改。