update 命令 (NuGet CLI)
适用于:包使用 • 支持的版本:全部
将项目中的所有包(使用 packages.config
)更新为其最新可用版本。 建议在运行 update
之前运行 'restore'。 (若要更新单个包,请使用 nuget install
而不指定版本号;在此情况下,NuGet 将安装最新版本。)
注意:update
不适用于在 Mono(Mac OSX 或 Linux)中运行的 CLI 或是使用 PackageReference 格式时。
update
命令还会更新项目文件中的程序集引用,但前提是这些引用已存在。 如果已更新的包具有已添加的程序集,则不会添加新引用。 新包依赖项也不会添加其程序集引用。 若要将这些操作包含在更新中,请使用包管理器 UI 或包管理器控制台来更新 Visual Studio 中的包。
此命令本身还可使用 -self 标志来更新 nuget.exe。
使用情况
nuget update <configPath> [options]
其中,<configPath>
可标识 packages.config
或列出项目依赖项的解决方案文件。
选项
-ConfigFile
要应用的 NuGet 配置文件。 如果未指定,则使用
%AppData%\NuGet\NuGet.Config
(适用于 Windows)或是~/.nuget/NuGet/NuGet.Config
或~/.config/NuGet/NuGet.Config
(适用于 Mac/Linux)。-DependencyVersion [Lowest, HighestPatch, HighestMinor, Highest, Ignore]
指定待使用依赖项包的版本,它可为以下版本之一:
- Lowest(默认值):最低版本
- HighestPatch:具有最低主要、最低次要、最高修补程序的版本
- HighestMinor:具有最低主要、最高次要、最高修补程序的版本
- Highest:最高版本
- Ignore:不使用依赖项包
-FileConflictAction [PromptUser, Overwrite, Ignore]
指定目标项目中已存在来自包的文件时的默认操作。 设为
Overwrite
可始终覆盖文件。 设为Ignore
可跳过文件。PromptUser
操作(默认值)会提示输入每个冲突文件(除非已提供OverwriteAll
或IgnoreAll
),并应用于所有剩余文件。-ForceEnglishOutput
(3.5+) 使用固定的、基于英语的区域性强制 nuget.exe 运行。
-?|-help
显示此命令的帮助信息。
-Id
指定待更新包 ID 的列表。
-MSBuildPath
(4.0+) 指定要与该命令一起使用的 MSBuild 的路径,从而优先于
-MSBuildVersion
。-MSBuildVersion
(3.2+) 指定要此命令一起使用的 MSBuild 的版本。 支持的值为 4、12、14、15.1、15.3、15.4、15.5、15.6、15.7、15.8、15.9。 默认情况下,会选择路径中的 MSBuild,否则它默认为已安装的最高 MSBuild 版本。
-NonInteractive
不为用户输入或确认显示提示。
-PreRelease
允许更新到预发行版本。 更新已安装的预发行包时,不需要此标志。
-RepositoryPath
指定在其中安装包的本地文件夹。
-Safe
指定仅安装与已安装包相同的主版本和次要版本中提供的最高版本的更新。
-Self
将
nuget.exe
更新到最新版本。 可使用-Source
,但会忽略所有其他参数。 如果未提供任何源,则无论NuGet.Config
设置为何,均会检查nuget.org
是否有更新。-Source
指定要用于这些更新的包源(作为 URL)的列表。 如果省略,该命令将使用配置文件中提供的源,请参阅通用 NuGet 配置。
-Verbosity [normal|quiet|detailed]
指定输出中显示的细节量:
normal
(默认值)、quiet
或detailed
。-Version
与一个包 ID 一起使用时,指定要更新的包的版本。
另请参阅环境变量
示例
nuget update
# update packages installed in solution.sln, using MSBuild version 14.0 to load the solution and its project(s).
nuget update solution.sln -MSBuildVersion 14
nuget update -safe
nuget update -self