Поделиться через


Наборы рабочих нагрузок пакета SDK для .NET

Функция наборов рабочих нагрузок предоставляет номер версии, представляющий группу рабочих нагрузок пакета SDK для .NET. Команды установки, обновления и восстановления используют это число в режиме обновления набора рабочей нагрузки, чтобы обеспечить следующие преимущества:

  • Вы управляете частотой изменений для установленных версий рабочей нагрузки. Альтернативный режим работы без использования наборов рабочих нагрузок называется режимом обновления свободных манифестов. В этом режиме рабочие нагрузки обновляются автоматически по мере выпуска новых версий отдельных рабочих нагрузок на все настроенные веб-каналы NuGet. В workload-set режиме обновления рабочие нагрузки остаются в определенной версии набора рабочих нагрузок, пока не будет явно изменена эта версия.
  • Вы можете установить и обновить комбинацию версий рабочих нагрузок, которые отправляются одновременно и работают вместе.
  • Вы можете убедиться, что все в команде всегда работают над одной и той же версией рабочей нагрузки.
  • Вам не нужно использовать файл отката, чтобы указать, какая версия рабочей нагрузки должна быть включена.

Ниже приведены некоторые способы использования наборов рабочих нагрузок.

  • "Закрепить" install команду в определенной версии набора рабочих нагрузок.
  • Обновите установленные рабочие нагрузки до последней доступной версии набора рабочих нагрузок.
  • Обновление до указанной версии набора рабочих нагрузок.
  • Укажите версию набора рабочих нагрузок в global.json.
  • Проверьте текущий режим обновления и версию набора рабочих нагрузок.

И вы по-прежнему можете установить, обновить или восстановить последнюю версию каждой отдельной рабочей нагрузки, игнорируя наборы рабочих нагрузок.

Необходимые компоненты

  • Пакет SDK для .NET 8.0.400 или более поздней версии.

    В пакете SDK 8.0.400 команды находятся в режиме обновления, заданном рабочей нагрузкой, dotnet workload только если он явно выбран.

"Закрепить" команду установки

Команда dotnet workload install с параметром --version "закрепляет" install команду в workload-set режиме обновления с указанной версией набора рабочих нагрузок. Команда больше не устанавливает последнюю рабочую нагрузку на основе свободных манифестов.

Чтобы закрепить команду, выполните следующую install команду:

  1. Выберите версию набора рабочих нагрузок. Например, 9.0.100-preview.7.24414.1.

  2. Выберите рабочую нагрузку. Например, aspire.

  3. dotnet workload install aspire --version 9.0.100-preview.7.24414.1
    

    При выполнении этой команды:

    • Он выбирает workload-set режим обновления, если этот режим еще не выбран.
    • Получает набор рабочей нагрузки, имеющий указанную версию.
    • Из набора рабочей нагрузки он получает версию манифеста указанной рабочей нагрузки.
    • Он устанавливает версию манифеста рабочей нагрузки.
    • Он остается в workload-set режиме обновления, когда он будет выполнен.
  4. Выберите другую рабочую нагрузку для установки, например maui-ios.

  5. dotnet workload install maui-ios
    

    Эта команда устанавливает maui-ios рабочую нагрузку с помощью версии рабочей нагрузки из версии 9.0.100-preview.7.24414.1набора рабочих нагрузок, так как предыдущий install пример команды закреплял этот набор рабочих нагрузок.

Используется --version либо с update install закреплением к указанной версии, но настроен только для workload-set режима обновления, а update не для определенной версии набора рабочих install нагрузок. Если после этого выполнить команду dotnet workload update без параметра, выполните следующую --version update команду:

  • Обновляет рабочие нагрузки до последней доступной версии набора рабочих нагрузок.
  • "Открепить" install команду.
  • Остается в workload-set режиме обновления.

Обновление с помощью последней рабочей нагрузки

Чтобы обновить установленные рабочие нагрузки до последней версии набора рабочих нагрузок, доступной на настроенных веб-каналах, выполните следующие команды:

  1. dotnet workload config --update-mode workload-set
    

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

  2. dotnet workload update
    

    В workload-set режиме обновления эта команда обновляет рабочие нагрузки до последней версии набора рабочих нагрузок, если только вы не указали версию набора рабочих нагрузок в global.json.

Обновление до версии набора рабочих нагрузок

Чтобы указать версию набора рабочей нагрузки для обновления до того, когда она не указана в global.json, используйте --version параметр update команды:

  1. Выберите версию набора рабочих нагрузок. Например, 8.0.400.

  2. dotnet workload update --version 8.0.400
    

    workload-set Режим обновления будет выбран, если он еще не выбран.

Использование global.json для версии набора рабочих нагрузок

Чтобы использовать global.json файл для указания версии набора рабочих нагрузок для репозитория:

  1. Выберите версию набора рабочих нагрузок. Например, 9.0.100-preview.7.24414.1.

  2. global.json Создайте файл, который выглядит следующим образом:

    {
      "sdk": {
        "workloadVersion": "9.0.100-preview.7.24414.1"
      }
    }
    

С текущим каталогом в том же репозитории и интерфейсе командной строки в workload-set режиме обновления, installupdateкоманды устанавливают restore рабочие нагрузки для указанной версии набора рабочих нагрузок. Если у вас нет файла global.json и вы находитесь в workload-set режиме обновления, команда устанавливает версию набора рабочих нагрузок, restore установленную при переходе с режима обновления манифестов на workload-set режим обновления.

Если в файле global.json установлена версия рабочей нагрузки, команды рабочей нагрузки находятся в workload-set режиме, даже если вы не выполнили config команду или не использовались --version. Файл global.json переопределяет их. Чтобы использовать --version этот параметр в этом случае, выполните команду за пределами пути, содержащего файл global.json.

Если в global.json не указана версия набора рабочей нагрузки, можно использовать --version этот параметр с restore помощью команды. В этом случае restore команда выбирает workload-set режим обновления перед восстановлением рабочих нагрузок в указанную версию набора рабочих нагрузок.

В режиме restore обновления манифестов устанавливается или обновляет рабочие нагрузки до последней версии каждой отдельной рабочей нагрузки.

Проверка режима обновления и версии

Чтобы просмотреть текущий режим обновления, выполните config команду с --update-mode параметром без аргумента. Режим имеет значение workload-set или manifests. Например:

dotnet workload config --update-mode
workload-set

Чтобы просмотреть текущую версию набора рабочих нагрузок, выполните команду dotnet workload --version. Если установлен набор рабочей нагрузки, вы увидите версию, например 9.0.100-preview.7.24414.1 или 8.0.402. Например:

dotnet workload --version
9.0.100-preview.7.24414.1

В режиме манифестов или если версия набора рабочих нагрузок еще не установлена после переключения в workload-set режим обновления, вы увидите версию в виде <feature band>-manifests.<hash>. Например:

dotnet workload --version
9.0.100-manifests.cf958b56

Выбор версии набора рабочих нагрузок

Наборы рабочих нагрузок публикуются в nuget.org с каждым выпуском пакета SDK для .NET в идентификаторе Microsoft.NET.Workloads.<feature band>пакета. Для стабильной версии пакета SDK всегда существует соответствующая версия набора рабочих нагрузок. Поэтому пакет SDK 8.0.400 может установить набор рабочей нагрузки 8.0.400, а 401 может установить набор 401. Как правило, рекомендуется установить соответствующий набор рабочих нагрузок для стабильного пакета SDK.

Для предварительных версий найдите соответствующую версию набора рабочих нагрузок на вкладке README пакета. Например, перейдите на вкладку README для пакета .NET 9 (предварительная версия 7).

В будущем вы сможете просмотреть список версий набора рабочих нагрузок и то, что они содержат.

Игнорировать наборы рабочих нагрузок

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

dotnet workload config --update-mode manifests

В пакете SDK для .NET 8.0.4xx режим манифестов по умолчанию. В этой версии необходимо явно выбрать режим манифестов, только если вы явно выбрали workload-set режим обновления ранее.