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 MAUIBlazor 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。 如果指定 detaileddiagnostic 详细程度,该命令将显示有关它下载的 Nuget 包的信息。

  • --version

    要安装或更新到的工作负荷集版本。 如果在global.json中指定工作负荷集版本,则无法使用 --version 此选项来指定工作负荷集版本。 若要在这种情况下使用 --version 该选项,请在包含global.json文件的路径外部运行命令。 自 8.0.400 SDK 起可用。 有关详细信息,请参阅 .NET SDK 工作负荷集

示例

  • 安装 maui 工作负载:

    dotnet workload install maui
    
  • 安装 maui-androidmaui-ios 工作负载:

    dotnet workload install maui-android maui-ios