分享方式:


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 工作負載搜尋來了解哪些工作負載可供安裝。

執行提升權限的時機

針對安裝至受保護目錄的 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 命令會比較已安裝工作負載的版本與目前可用的版本。 當發現比已安裝的版本更新的版本時,它會在命令輸出中公告該事實。 dotnet workload list 中的這些較新版本通知從 .NET 6 開始提供使用。

若要啟用這些通知,系統會下載最新的可用資訊清單版本,並儲存為廣告資訊清單。 執行下列任何命令時,這些下載會在背景以非同步方式進行。

如果命令在資訊清單下載完成之前完成,則會停止下載。 下次執行其中一個命令時,會再次嘗試下載。 您可以設定環境變數來停用這些背景下載控制其頻率。 根據預設,它們一天不會發生超過一次。

您可以使用 --skip-manifest-update 選項,防止 dotnet workload install 命令執行資訊清單下載。

dotnet workload update 命令也會下載廣告資訊清單。 需要下載才能了解是否有可用的更新,因此沒有防止執行的選項。 不過,您可以使用 --advertising-manifests-only 選項來略過工作負載更新,並只下載資訊清單。 此選項從 .NET 6 開始提供使用。

引數

  • WORKLOAD_ID...

    要安裝的工作負載識別碼或多個識別碼。 使用 dotnet 工作負載搜尋來了解哪些工作負載可用。

選項。

  • --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