安装 NuGet 客户端工具

打算安装包? 请参阅 安装 NuGet 包的方法

要使用 NuGet,作为软件包使用者或创建者,可以使用命令行接口 (CLI) 工具以及 Visual Studio 中的 NuGet 功能。 本文简要介绍了不同工具的功能,如何安装它们,以及它们功能可用性的相对优势。

若要开始使用 NuGet 来使用包,请参阅:

若要开始创建 NuGet 包,请参阅:

工具 说明 下载
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 上, NuGet 包管理器 包含在 Visual Studio 2012 及更高版本中。 Visual Studio 提供包管理器 UI包管理器控制台,通过它可以运行大部分的 NuGet 操作。 Visual Studio
Visual Studio for Mac 在 Mac 上,某些 NuGet 功能是直接内置的。 包管理器控制台目前不可用。 对于其他功能,请使用 dotnet.exenuget.exe CLI 工具。 Visual Studio for Mac
Visual Studio Code 在 Windows、Mac 或 Linux 上,NuGet 功能可通过市场扩展使用,或使用 dotnet.exenuget.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 及更早版本上安装

可以从 下载适用于 Visual Studio 2013 和 2015 的 https://dist.nuget.org/index.htmlNuGet 扩展。

对于 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.exenuget.exe。 请参阅功能可用性以进行比较。

  • 若要面向 .NET Core 或 .NET Standard,请使用 dotnet CLI。 dotnet CLI 是 SDK 样式项目格式所必需的,该格式使用 SDK 属性
  • 要面向 .NET Framework(仅限非 SDK 样式项目),请使用 nuget.exe CLI。 如果项目从 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。

安装:

要了解如何在 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 或更高版本才能执行。

  1. 请访问 nuget.org/downloads,并选择 NuGet 3.3 或更高版本(2.8.6 与 Mono 不兼容)。 始终建议使用最新版。若要将包发布到 nuget.org,版本至少必须是 4.1.0。
  2. 每次下载都直接下载 nuget.exe 文件。 让浏览器将文件保存到选定文件夹。 此文件不是安装程序;如果直接在浏览器中运行,就不会看到任何内容。
  3. 将文件夹添加到 nuget.exe 中放置 PATH 环境变量的位置,这样就可以从任意位置使用 CLI 工具。

macOS/Linux

行为可能因 OS 分发版本略有不同。

  1. 安装 Mono 4.4.2 或更高版本

  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
    
  3. 通过将以下脚本添加到 OS 的相应文件来创建别名(通常为 ~/.bash_aliases~/.bash_profile):

    # Create as alias for nuget
    alias nuget="mono /usr/local/bin/nuget.exe"
    
  4. 重载 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 存储库上打开问题。

在 Windows 上工作的开发人员还可以浏览 NuGet 包资源管理器,它是可直观浏览、创建和编辑 NuGet 包的独立开源工具。 它非常有用,例如,无需重新生成包即可对包结构进行实验性更改。