dotnet workload install

Эта статья относится к: ✔️ пакету SDK для .NET 6 и более поздних версий

Имя

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

dotnet workload install -?|-h|--help

Описание

Команда dotnet workload install устанавливает одну или несколько дополнительных рабочих нагрузок. Дополнительные рабочие нагрузки можно установить поверх пакета SDK для .NET, чтобы обеспечить поддержку различных типов приложений, таких как .NET MAUI и Blazor WebAssembly AOT.

Используйте команду dotnet workload search, чтобы узнать, какие рабочие нагрузки доступны для установки.

Условия для запуска с повышенными правами

Для установок пакета SDK для macOS и Linux, выполненных в защищенном каталоге, эту команду нужно выполнять с повышенными правами (используйте команду sudo). В Windows эту команду не требуется выполнять с повышенными правами, даже если пакет SDK установлен в каталог Program Files. В Windows команда использует установщики MSI для этого расположения.

Зависимость результатов от версии пакета SDK

Команды dotnet workload работают в контексте конкретных версий пакета SDK. Предположим, что у вас установлен пакет SDK для .NET 6.0.100 и пакет SDK для .NET 6.0.200. Команды dotnet workload будут давать разные результаты в зависимости от выбранной версии пакета SDK. Это поведение относится к различиям основного и дополнительного номеров версий и наборов возможностей, а не к различиям версий исправлений. Например, пакеты SDK для .NET 6.0.101 и 6.0.102 дают одинаковые результаты, а пакеты для версий 6.0.100 и 6.0.200 — разные. Версию пакета SDK можно указать с помощью параметра файла global.json или параметра --sdk-version команд dotnet workload.

Оповестительные манифесты

Имена и версии ресурсов, необходимых для установки рабочей нагрузки, хранятся в манифестах. По умолчанию команда dotnet workload install скачивает последние доступные манифесты перед установкой рабочей нагрузки. Затем локальная копия манифеста предоставляет сведения, необходимые для поиска и скачивания ресурсов для рабочей нагрузки.

Команда dotnet workload list сравнивает версии установленных рабочих нагрузок с версиями, доступными в данный момент. Если оказывается, что доступна более новая версия, чем установленная, команда объявляет об этом в своих выходных данных. Такие уведомления о более новых версиях в dotnet workload list доступны начиная с версии .NET 6.

Чтобы реализовать такие уведомления, последние доступные версии манифестов скачиваются и сохраняются в виде оповестительных манифестов. Такие скачивания осуществляются асинхронно в фоновом режиме, когда выполняются любые из указанных ниже команд.

Если команда завершается до окончания скачивания манифеста, скачивание останавливается. Попытка скачивания повторяется при следующем запуске одной из этих команд. Можно задать переменные среды, чтобы отключить такие фоновые скачивания или задать их периодичность. По умолчанию они выполняются не чаще одного раза в день.

Вы можете запретить команде dotnet workload install скачивать манифесты с помощью параметра --skip-manifest-update.

Команда dotnet workload update также скачивает оповестительные манифесты. Эти скачиваемые файлы необходимы для того, чтобы узнать о наличии обновления, поэтому не существует возможности запретить их запуск. Однако можно использовать параметр --advertising-manifests-only, чтобы пропустить обновления рабочей нагрузки и выполнить только скачивание манифестов. Этот параметр доступен начиная с версии .NET 6.

Аргументы

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

    Указывает URI источника пакета NuGet, который нужно использовать. Этот параметр переопределяет все источники, указанные в файлах nuget.config. Чтобы указать несколько источников, задайте этот параметр несколько раз.

  • --temp-dir <PATH>

    Укажите временный каталог, используемый для загрузки и извлечения пакетов NuGet (должен быть безопасным).

  • -v|--verbosity <LEVEL>

    Задает уровень детализации команды. Допустимые значения: q[uiet], m[inimal], n[ormal], d[etailed] и diag[nostic]. Значение по умолчанию — minimal. Если задан уровень детализации detailed или diagnostic, команда отображает сведения о скачиваемых пакетах NuGet.

Примеры

  • Установите рабочую нагрузку maui:

    dotnet workload install maui
    
  • Установите рабочие нагрузки maui-android и maui-ios:

    dotnet workload install maui-android maui-ios