安装 NuGet 客户端工具

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

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

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

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

工具 说明 下载
dotnet SDK 适用于 .NET Core 和 .NET Standard 库,以及适用于任何 SDK 样式项目(例如面向 .NET Framework 的项目)的 CLI 工具。 这款 CLI 工具包含在 .NET Core SDK 中,并在所有平台上提供核心 NuGet 功能。 从 Visual Studio 2017 开始,dotnet CLI 将自动随任何 .NET Core 相关工作负载一起安装。 .NET Core SDK
nuget.exe 适用于 .NET Framework 库,以及适用于任何 SDK 样式项目(例如面向 .NET Standard 库的项目)的 CLI 工具。 这款 CLI 工具在 Mono 下运行时,提供 Windows 上的所有 NuGet 功能以及 Mac 和 Linux 上在 Mono 下运行时的大多数功能。 nuget.exe
Visual Studio 对于 Windows,Visual Studio 2012 及更高版本中都包括“NuGet 包管理器”。 Visual Studio 提供包管理器 UI包管理器控制台(Windows 版 PowerShell)。 可以使用这些工具运行大多数 NuGet 操作。 Visual Studio
Visual Studio for Mac 对于 Mac,特定 NuGet 功能是直接内置的。 包管理器控制台目前不可用。 对于其他功能,请使用 dotnet SDK 或 nuget.exe CLI 工具。 Visual Studio for Mac
Visual Studio Code 对于 Windows、Mac 和 Linux,NuGet 功能可通过市场扩展提供,或者使用 dotnet SDK 或 nuget.exe CLI 工具。 Visual Studio Code

注意

根据 Microsoft 的新式生命周期策略,Visual Studio for Mac 计划于 2024 年 8 月 31 日停用。 有关详细信息,请参阅 Visual Studio for Mac 的最新情况

MSBuild CLI 还会还原和创建包。 MSBuild 不是与 NuGet 一起使用的通用工具。 此 CLI 工具主要用于生成服务器。

程序包管理器控制台命令只能在 Windows 的 Visual Studio 中工作,不能在其他 PowerShell 环境中工作。

Visual Studio

在 Visual Studio 2017 和更高版本中,Visual Studio 安装程序包括具有任何采用 .NET 的工作负荷的 NuGet 包管理器。

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

注意

如果是更早版本的 Visual Studio,可将 NuGet 扩展到 https://dist.nuget.org/index.html

CLI 工具

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

  • 若要面向 .NET Core 或 .NET Standard,请使用 dotnet SDK CLI 工具。 该 CLI 是 SDK 样式项目格式所必需的,该格式使用 SDK 属性

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

dotnet SDK

dotnet SDK 是一款 .NET Core 2.0 CLI 工具,适用于所有平台(Windows、Mac 和 Linux),并提供核心的 NuGet 功能,例如安装、还原和发布程序包。 dotnet CLI 提供了与 .NET Core 项目文件(如 .csproj)的直接集成,这在大多数情况下都很有用。 此外,该 CLI 也是直接为每个平台构建的,不需要你安装 Mono

安装 dotnet SDK

要了解如何在 dotnet CLI 工具中使用基本命令,请参阅使用 dotnet CLI 安装并管理 NutGet 包

nuget.exe CLI

NuGet CLI,即 nuget.exe 是适用于 Windows 的命令行实用程序,可提供所有 NuGet 功能。 该 CLI 还可以使用 Mono 在 Mac OSX 和 Linux 上运行,但存在一些限制。

要了解如何 nuget.exe CLI 工具的基本命令,请参阅使用 nuget.exe CLI 安装 NuGet 包

安装 nuget.exe

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

  • 可将最近的推荐版本下载到 https://dist.nuget.org/win-x86-commandline/latest/nuget.exe
  • 如果已安装 nuget.exe CLI 工具,可使用下列命令 nuget update -self 将其更新至最新版本。
  • 为了实现与旧版持续集成系统的兼容性,以前的 URL https://nuget.org/nuget.exe 当前提供弃用的 2.8.6 CLI 工具。
  1. 请访问 nuget.org/downloads,下载 3.3 或更高版本的 NuGet。

    • 版本 5.0 及更高版本要求 .NET Framework 4.7.2 或更高版本。
    • 需要版本 4.1.0 及更高版本才能将包发布到 nuget.org
    • 版本 2.8.6 不兼容 Mono
  2. 每次下载都直接下载 nuget.exe 文件。 让浏览器将文件保存到选定文件夹。 此下载文件不是安装程序,因此如果直接在浏览器中运行,就不会看到任何内容。

  3. 若要随时随地使用 CLI 工具,请将 nuget.exe 文件的文件夹位置添加到 PATH 环境变量。

功能可用性

下表比较了受支持平台的 dotnet 和 nuget.exe 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 SDK CLI 工具。
  • (2) 仅适用于 packages.config 文件,不适用于解决方案 (.sln) 文件。
  • (3) 只能通过 CLI 使用各种高级包功能,因为 Visual Studio UI 工具中没有它们。
  • (4) 适用于 .nuspec 文件,但不适用于项目文件。

即将推出的功能

如果希望预览即将推出的 NuGet 功能,请安装 Visual Studio 预览版,该版本与 Visual Studio 稳定版本并行工作。 若要报告问题或分享对预览版的看法,请在 NuGet GitHub 存储库上打开问题。

Windows 上的开发人员还可以深入了解 NuGett 包资源管理器。 此应用程序是一款开源独立工具,可用于直观浏览、创建和编辑 NuGet 包。 它在很多场景下都非常有用,例如,无需重新生成包即可对包结构进行实验性更改。