可以使用
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文件。 最好在运行之前运行restore
update
。
nuget update
若要删除包,请从项目文件夹中删除该包。 若要重新安装包,请使用 restore
或 install
命令。
从磁盘中删除包不会更新项目、 packages.config或 NuGet.Config 文件。 删除包的最佳方式是通过 Visual Studio 包管理器 UI 或 包管理器控制台。
NuGet CLI 还原 命令下载并安装任何缺少的包。 该命令适用于使用 PackageReference 或 packages.config 进行包引用的项目。
同样 install
, restore
该命令仅将包添加到磁盘,但不会修改项目文件或 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 管理包