本文 适用于: ✔️ .NET 10 SDK 及更高版本
Name
dotnet package update - 更新项目中引用的包。
概要
dotnet package update [<packages>...]
[--interactive] [--project <path>]
[--verbosity <level>] [--vulnerable]
dotnet package update -h|--help
Description
该 dotnet package update 命令更新项目使用的包。
如果启用了 NuGetAudit ,它还可能尝试自动更新更新包,并更新具有已知漏洞的已修复版本。
警告为错误
dotnet package update 执行隐式还原以检查生成的包图是否没有错误。
使用 --vulnerable 还会进行隐式还原来查找 NuGetAudit 警告。
但是,如果项目使用 WarningsAsErrors 或 TreatWarningsAsErrorsNuGet 的还原警告可能会导致还原失败,从而阻止更新完成。
建议在实现 此功能请求 之前,利用 MSBuild 条件和环境变量作为解决方法。
例如,在项目中设置 <TreatWarningsAsErrors Condition=" '$(CustomCondition)' == ''>true</TreatWarningsAsErrors> ,然后在大多数 Linux 和 Mac shell CustomCondition=true dotnet package update上运行。
在 Windows 命令提示符和 PowerShell 上,需要设置环境变量、运行 dotnet 包更新,然后将环境变量设置为三个单独的命令。
Arguments
packages要更新的包的可选列表。 如果未提供任何包,该命令将尝试更新项目引用的所有包。 包可以是包名称(可选)后跟
@版本号。 例如,dotnet package update Contoso.Utilities或dotnet package update Contoso.Utilities@3.2.1。 如果未提供版本,它将找到配置包源上可用的最高版本。
选项
--interactive允许命令停止并等待用户输入或作(例如完成身份验证)。
--project <path>应在其中更新包的项目。 如果提供了目录,则会在目录中搜索项目和解决方案文件。 默认为当前工作目录。
--verbosity在输出中显示此数量的详细信息:
[n]ormal、、[m]inimal[q]uiet、[d]etailed或[diag]nostic。 默认值为normal。--vulnerable如果还原报告任何包存在已知漏洞,此命令将升级这些包。 使用此选项会将包升级到高于当前引用的版本的最低版本,该版本没有任何已知漏洞。
-?|-h|--help打印出有关如何使用命令的说明。
例子
将项目中的所有包更新为可用的最高版本
dotnet package updateUpdating outdated packages in S:\src\test\update\ConsoleApp1. ConsoleApp1: Updated Microsoft.Extensions.Configuration 9.0.0 to 9.0.9. Updated Microsoft.Extensions.DependencyInjection 9.0.0 to 9.0.9. Updated 2 packages in 7 scanned packages.将 Contoso.Utilities 更新为可用的最高版本,将 Fabrikam.WebApi 更新为版本 1.2.3
dotnet package update Contoso.Utilities Fabrikam.WebApi@1.2.3Updating outdated packages in S:\src\test\update\ConsoleApp1. ConsoleApp1: Updated Contoso.Utilities 2.3.1 to 2.4.6. Updated Fabrikam.WebApi 1.0.2 to 1.2.3. Updated 2 packages in 2 scanned packages.使用已知漏洞更新包
dotnet package update --vulnerableUpdating packages with security advisories in S:\src\test\update\ConsoleApp1 ConsoleApp1: Updating System.Text.Json 8.0.0 to 8.0.5. Updated 1 packages in 31 scanned packages.