可以使用 nuget.exe CLI 工具在 Visual Studio 项目和解决方案中管理 NuGet 包。 本文介绍用于管理 NuGet 包的最常见 NuGet CLI 命令。 所有这些命令在 Windows 上运行,大多数命令在 Mac 和 Linux 上使用 Mono 工作。

NuGet CLI 在.NET Framework和非 SDK 样式项目上运行,例如面向 .NET Standard 库的非 SDK 样式项目。 NuGet CLI 命令可以使用列出包引用的项目 packages.config 文件。 对于使用 PackageReference 而不是 packages.config 进行包引用的非 SDK 样式项目,请改用 dotnet CLI

对于使用 packages.config 的大多数非 SDK 样式项目,最好将 packages.config迁移到 PackageReference ,然后使用 dotnet CLI 而不是 NuGet CLI 来管理包。 但是,无法迁移 C++ 或 ASP.NET 项目。

对于大多数命令,NuGet CLI 工具将使用当前目录,除非在命令中指定了其他位置。 与其他 CLI 命令一样,先打开命令行并切换到包含项目文件的目录。

有关命令和可能使用的参数的完整列表,请参阅 nuget.exe CLI 参考

nuget.org 下载 NuGet CLI。将 nuget.exe 文件保存到合适的目录,并确保目录位于 PATH 环境变量中。

还可以使用适用于 Windows 的 winget 工具或 macOS Homebrew

若要了解 NuGet CLI 版本,请打开命令行并运行 nuget help ,或者避免必须向上滚动,请使用 nuget help | more 。 帮助输出中的第一行显示版本。

NuGet CLI 安装 命令下载并安装指定的 NuGet 包。

install 命令不会修改项目文件或 packages.config 文件。 命令 install restore 仅将包添加到磁盘,但不向项目添加依赖项。 若要添加项目依赖项,请通过 Visual Studio 包管理器 UI 包管理器控制台 添加包,然后运行或 restore install

-OutputDirectory 使用此选项将包安装到特定目录。 如果未指定输出目录, install 请使用当前目录。

nuget install <packageID | configFilePath> -OutputDirectory <outputDirectory>

要将 Newtonsoft.json 包安装到“包”文件夹,请使用以下命令:

nuget install Newtonsoft.Json -OutputDirectory packages

可以指定当前或另一个目录中的现有 packages.config 文件,而不是指定要安装的包。 此命令 install 将安装 packages.config 文件中列出的所有包。

nuget install packages.config

例如,以下命令将配置子目录中packages.config中列出的所有包安装到子目录中:

nuget install config\packages.config -OutputDirectory packages

安装特定版本的包

除非指定其他版本,否则此命令 install 将安装包的最新版本。 若要安装特定版本的包,请使用 -Version 以下选项:

nuget install <packageID | configFilePath> -Version <version>

例如,要添加 12.0.1 版的 Newtonsoft.json 包,请使用以下命令:

nuget install Newtonsoft.Json -Version 12.0.1

使用 list 命令显示包文件夹中安装的包列表。 使用 -Source 选项限制搜索。

nuget list -Source <source>

例如,若要列出 MyProject 的包子目录中的,请使用:

nuget list -Source C:\Users\%USERNAME%\source\repos\MyProject\packages

还可以使用搜索词搜索包名称、标记或说明:

nuget list <"search term"> -Source <source>

更新所有包

使用 update 命令将项目中的所有包 更新为 其最新可用版本packages.config文件。 最好在运行之前运行restoreupdate

nuget update

若要删除包,请从项目文件夹中删除该包。 若要重新安装包,请使用 restoreinstall 命令。

从磁盘中删除包不会更新项目、 packages.configNuGet.Config 文件。 删除包的最佳方式是通过 Visual Studio 包管理器 UI包管理器控制台

NuGet CLI 还原 命令下载并安装任何缺少的包。 该命令适用于使用 PackageReferencepackages.config 进行包引用的项目。

同样 installrestore 该命令仅将包添加到磁盘,但不会修改项目文件或 packages.config。若要添加项目依赖项,请使用 Visual Studio 包管理器 UI 或控制台。

若要还原所需的 NuGet 包,请运行以下命令:

nuget restore <projectPath>

restore 命令使用解决方案文件或指定项目路径中的 package.config 文件。

例如,若要还原当前目录中 MySolution.sln 的所有包,请运行:

nuget restore MySolution.sln

对于使用 PackageReference的非 SDK 样式项目,请改用 msbuild -t:restore 还原包。

有关详细信息,请参阅 还原包

  • NuGet CLI 引用
  • 使用 NuGet 包管理器在 Visual Studio 中安装和管理包
  • 从 packages.config 迁移到 PackageReference
  • 使用 dotnet CLI 管理包
  •