dotnet workload install
本文适用于:✔️ .NET 6 SDK 及更高版本
名称
dotnet workload install
- 安装可选的工作负载。
摘要
dotnet workload install <WORKLOAD_ID>...
[--configfile <FILE>] [--disable-parallel]
[--ignore-failed-sources] [--include-previews] [--interactive]
[--no-cache] [--skip-manifest-update] [--source <SOURCE>]
[--temp-dir <PATH>] [-v|--verbosity <LEVEL>] [--version <VERSION>]
dotnet workload install -?|-h|--help
说明
dotnet workload install
命令安装一个或多个可选工作负载。 可选工作负载可以在 .NET SDK 的基础上安装,以提供对各种应用程序类型(如 .NET MAUI 和 Blazor WebAssembly AOT)的支持。
当命令处于 workload-set
更新模式时,已安装工作负载版本:
- 来自global.json或选项中指定的最新工作负荷集或
--version
工作负荷集版本。 - 可能不是每个单个工作负荷的最新版本。 例如,如果以前使用
--version
过标志,install
该命令将不会安装较新的工作负荷集。
有关详细信息,请参阅 .NET SDK 工作负荷集。 workload-set
更新模式自 8.0.400 SDK 起可用。
使用 dotnet workload search 了解可安装的工作负载。
何时在特权模式下运行
对于已安装到受保护目录的 macOS 和 Linux SDK 安装,该命令需要在特权模式下运行(使用 sudo
命令)。 在 Windows 上,即使 SDK 已安装到 Program Files 目录,也无需在特权模式下运行该命令。 对于 Windows,该命令使用该位置的 MSI 安装程序。
结果因 SDK 版本而异
dotnet workload
命令在特定 SDK 版本的上下文中运行。 假设同时安装了 .NET 6.0.100 SDK 和 .NET 6.0.200 SDK。 dotnet workload
命令将给出不同的结果,具体取决于你选择的 SDK 版本。 此行为适用于主要版本和次要版本以及功能区段差异,而不适用于修补版本差异。 例如,.NET SDK 6.0.101 和 6.0.102 给出相同结果,而 6.0.100 和 6.0.200 则给出不同结果。 可以通过使用 global.json 文件指定 SDK 版本。
播发清单
工作负载安装所需的资产的名称和版本在清单中进行维护。 默认情况下,dotnet workload install
命令在安装工作负载之前下载最新的可用清单。 然后,清单的本地副本提供查找和下载工作负载的资产所需的信息。
dotnet workload list
命令将已安装的工作负载版本与当前可用版本进行比较。 当发现有比已安装版本更新的版本可用时,它会在命令输出中播发该事实。 从 .NET 6 开始,dotnet workload list
中的这些新版本通知将可用。
若要启用这些通知,请下载清单的最新可用版本,并将其存储为播发清单。 运行以下任一命令时,这些下载将在后台异步进行。
如果命令在清单下载完成之前完成,则下载将停止。 下次运行这些命令时,会再次尝试下载。 可设置环境变量来禁用这些后台下载或控制其频率。 默认情况下,下载频率每天不会超过一次。
可使用 --skip-manifest-update
选项阻止 dotnet workload install
命令执行清单下载。
dotnet workload update
命令还会下载播发清单。 必须通过下载才能了解是否有更新可用,因此没有阻止它们运行的选项。 但是,可使用 --advertising-manifests-only
选项跳过工作负载更新,仅执行清单下载。 此选项从 .NET 6 开始可用。
参数
WORKLOAD_ID
...要安装的工作负载 ID 或多个 ID。 使用 dotnet workload search 了解可用的工作负载。
选项
--configfile <FILE>
要使用的 NuGet 配置文件 (nuget.config)。 如果指定,则只使用此文件中的设置。 如果不指定,将使用当前目录中的配置文件的层次结构。 有关详细信息,请参阅常见的 NuGet 配置。
--disable-parallel
阻止并行还原多个项目。
-?|-h|--help
打印出有关如何使用命令的说明。
--ignore-failed-sources
将包源失败视为警告。
--include-previews
允许预发布工作负载清单。
--interactive
允许命令停止并等待用户输入或操作。 例如,完成身份验证。
--no-cache
阻止缓存包和 http 请求。
--skip-manifest-update
跳过更新工作负载清单。 工作负载清单定义需要为每个工作负载安装的资产和版本。
-s|--source <SOURCE>
指定要使用的 NuGet 包源的 URI。 此设置会替代 nuget.config 文件中指定的所有源。 多次指定此选项可以提供多个源。
--temp-dir <PATH>
指定用于下载和提取 NuGet 包的临时目录(必须是安全的)。
-v|--verbosity <LEVEL>
设置命令的详细级别。 允许使用的值为
q[uiet]
、m[inimal]
、n[ormal]
、d[etailed]
和diag[nostic]
。 默认值为minimal
。 如果指定detailed
或diagnostic
详细程度,该命令将显示有关它下载的 Nuget 包的信息。
--version
要安装或更新到的工作负荷集版本。 如果在global.json中指定工作负荷集版本,则无法使用
--version
此选项来指定工作负荷集版本。 若要在这种情况下使用--version
该选项,请在包含global.json文件的路径外部运行命令。 自 8.0.400 SDK 起可用。 有关详细信息,请参阅 .NET SDK 工作负荷集。
示例
安装
maui
工作负载:dotnet workload install maui
安装
maui-android
和maui-ios
工作负载:dotnet workload install maui-android maui-ios