可以使用 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 工具将使用当前目录,除非你在命令中指定了其他位置。 若要运行 NuGet CLI 命令,请打开命令行并切换到包含项目文件的目录。
有关命令及其参数的完整列表,请参阅 NuGet CLI 参考。
先决条件
从 nuget.org 下载 NuGet CLI。将 nuget.exe 文件保存到合适的目录,并确保该目录位于 PATH 环境变量中。
若要查找 NuGet CLI 版本,请打开命令行并运行 nuget help,避免上滚,请使用 nuget help | more。 帮助输出中的第一行显示版本。
安装一个软件包
NuGet CLI 安装 命令下载并安装指定的 NuGet 包。
重要
该 install 命令不会修改项目文件或 packages.config 文件。
install和restore命令仅将包添加到磁盘,但不向项目添加依赖项。 若要添加项目依赖项,请通过Visual Studio 包管理器 UI或包管理器控制台添加包,然后运行install或运行restore。
-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>
例如,若要安装包的版本 Newtonsoft.json 12.0.1,请使用:
nuget install Newtonsoft.Json -Version 12.0.1
列出包
使用 list 命令显示包文件夹中安装的包列表。 使用选项 -Source 来限制列表。
nuget list -Source <source>
例如,若要列出packages子目录中的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 restore <projectPath>
该 restore 命令使用指定项目路径中的解决方案文件或 package.config 文件。
例如,若要还原当前目录中 MySolution.sln 的所有包,请运行:
nuget restore MySolution.sln
注释
对于使用 PackageReference的非 SDK 样式项目,请改用 msbuild -t:restore 还原包。
有关详细信息,请参阅 还原包。