Наборы рабочих нагрузок пакета 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
команду:
Выберите версию набора рабочих нагрузок. Например,
9.0.100-preview.7.24414.1
.Выберите рабочую нагрузку. Например,
aspire
.-
dotnet workload install aspire --version 9.0.100-preview.7.24414.1
При выполнении этой команды:
- Он выбирает
workload-set
режим обновления, если этот режим еще не выбран. - Получает набор рабочей нагрузки, имеющий указанную версию.
- Из набора рабочей нагрузки он получает версию манифеста указанной рабочей нагрузки.
- Он устанавливает версию манифеста рабочей нагрузки.
- Он остается в
workload-set
режиме обновления, когда он будет выполнен.
- Он выбирает
Выберите другую рабочую нагрузку для установки, например
maui-ios
.-
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
режиме обновления.
Обновление с помощью последней рабочей нагрузки
Чтобы обновить установленные рабочие нагрузки до последней версии набора рабочих нагрузок, доступной на настроенных веб-каналах, выполните следующие команды:
-
dotnet workload config --update-mode workload-set
Предыдущая команда необходима только в том случае, если вы находитесь в режиме обновления манифестов. Если вы не знаете, проверьте текущий режим обновления.
-
dotnet workload update
В
workload-set
режиме обновления эта команда обновляет рабочие нагрузки до последней версии набора рабочих нагрузок, если только вы не указали версию набора рабочих нагрузок в global.json.
Обновление до версии набора рабочих нагрузок
Чтобы указать версию набора рабочей нагрузки для обновления до того, когда она не указана в global.json, используйте --version
параметр update
команды:
Выберите версию набора рабочих нагрузок. Например,
8.0.400
.-
dotnet workload update --version 8.0.400
workload-set
Режим обновления будет выбран, если он еще не выбран.
Использование global.json для версии набора рабочих нагрузок
Чтобы использовать global.json
файл для указания версии набора рабочих нагрузок для репозитория:
Выберите версию набора рабочих нагрузок. Например,
9.0.100-preview.7.24414.1
.global.json
Создайте файл, который выглядит следующим образом:{ "sdk": { "workloadVersion": "9.0.100-preview.7.24414.1" } }
С текущим каталогом в том же репозитории и интерфейсе командной строки в workload-set
режиме обновления, install
update
команды устанавливают 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
режим обновления ранее.