Conjuntos de carga de trabalho do SDK do .NET

O recurso de conjuntos de carga de trabalho fornece um número de versão que representa um grupo de cargas de trabalho do SDK do .NET. Os comandos install, update e restore usam esse número no modo de atualização definido pela carga de trabalho para fornecer os seguintes benefícios:

  • Você controla a cadência de alteração para as versões de carga de trabalho instaladas. O modo alternativo de operação sem usar conjuntos de carga de trabalho é chamado de modo de atualização de manifestos soltos. Nesse modo, as cargas de trabalho são atualizadas automaticamente à medida que novas versões de cargas de trabalho individuais são lançadas em qualquer feed NuGet configurado. No workload-set modo de atualização, as cargas de trabalho permanecem em uma versão específica do conjunto de cargas de trabalho até que você altere explicitamente essa versão.
  • Você pode instalar e atualizar uma combinação de versões de carga de trabalho que são fornecidas ao mesmo tempo e são conhecidas por trabalharem juntas.
  • Você pode garantir que todos na sua equipe estejam sempre trabalhando nas mesmas versões de carga de trabalho.
  • Não é necessário usar um arquivo de reversão para especificar em qual versão de carga de trabalho você deseja estar.

Aqui estão algumas maneiras de usar conjuntos de carga de trabalho:

  • "Fixar" o install comando em uma versão específica do conjunto de carga de trabalho.
  • Atualize as cargas de trabalho instaladas para a versão mais recente disponível do conjunto de cargas de trabalho.
  • Atualize para uma versão especificada do conjunto de cargas de trabalho.
  • Especifique a versão do conjunto de carga de trabalho em global.json.
  • Verifique o modo de atualização atual e a versão do conjunto de carga de trabalho.

E você ainda pode optar por instalar, atualizar ou restaurar para a versão mais recente de cada carga de trabalho individual, ignorando os conjuntos de carga de trabalho.

Pré-requisitos

  • SDK do .NET 8.0.400 ou posterior.

    No SDK 8.0.400, os dotnet workload comandos estão no modo de atualização definido pela carga de trabalho somente quando ele é explicitamente selecionado.

"Fixar" o comando install

Um dotnet workload install comando com a --version opção "pins" o install comando no workload-set modo de atualização com a versão especificada do conjunto de cargas de trabalho. O comando não instala mais automaticamente a carga de trabalho mais recente com base em manifestos soltos.

Para "fixar" o install comando:

  1. Escolha uma versão definida pela carga de trabalho. Por exemplo, 9.0.100-preview.7.24414.1.

  2. Escolha uma carga de trabalho. Por exemplo, aspire.

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

    Quando este comando é executado:

    • Ele seleciona o workload-set modo de atualização se ainda não estiver selecionado.
    • Ele obtém o conjunto de carga de trabalho que tem a versão especificada.
    • A partir do conjunto de carga de trabalho, ele obtém a versão de manifesto da carga de trabalho especificada.
    • Ele instala a versão de manifesto da carga de trabalho.
    • Ele permanece no workload-set modo de atualização quando termina.
  4. Escolha outra carga de trabalho para instalar, como maui-ios.

  5. dotnet workload install maui-ios
    

    Este comando instala a maui-ios carga de trabalho usando a versão da carga de trabalho da versão 9.0.100-preview.7.24414.1do conjunto de carga de trabalho, uma vez que o exemplo de comando anterior install fixou esse conjunto de carga de trabalho.

Usar --version com um ou update install pinos install para a versão especificada, mas update só está configurado para workload-set o modo de atualização, não para uma versão específica do conjunto de carga de trabalho. Se você executar dotnet workload update sem a --version opção, o update comando:

  • Atualiza as cargas de trabalho para a versão mais recente disponível do conjunto de cargas de trabalho.
  • "Unpins" o install comando.
  • Permanece no workload-set modo de atualização.

Atualizar usando o conjunto de carga de trabalho mais recente

Para atualizar as cargas de trabalho instaladas para a versão mais recente do conjunto de cargas de trabalho disponível nos feeds configurados, execute os seguintes comandos:

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

    O comando anterior é necessário somente se você estiver atualmente no modo de atualização de manifestos. Se não souber, verifique o modo de atualização atual.

  2. dotnet workload update
    

    No workload-set modo de atualização, esse comando atualiza as cargas de trabalho para a versão mais recente do conjunto de cargas de trabalho, a menos que você tenha especificado a versão do conjunto de cargas de trabalho no global.json.

Atualizar para uma versão definida pela carga de trabalho

Para especificar uma versão do conjunto de carga de trabalho para atualizar quando você não estiver especificando-a no global.json, use a --version opção do update comando:

  1. Escolha uma versão definida pela carga de trabalho. Por exemplo, 8.0.400.

  2. dotnet workload update --version 8.0.400
    

workload-set O modo de atualização será selecionado se ainda não tiver sido selecionado.

Usar global.json para a versão do conjunto de carga de trabalho

Para usar um global.json arquivo para especificar a versão do conjunto de carga de trabalho para um repositório:

  1. Escolha uma versão definida pela carga de trabalho. Por exemplo, 9.0.100-preview.7.24414.1.

  2. Crie um global.json arquivo semelhante ao exemplo a seguir:

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

Com o diretório atual no mesmo repositório e a CLI no workload-set modo de atualização, os installcomandos , updatee restore instalam cargas de trabalho para a versão especificada do conjunto de cargas de trabalho. Se você não tiver um arquivo de global.json e estiver no workload-set modo de atualização, o restore comando instalará a versão do conjunto de carga de trabalho que foi estabelecida quando você mudou do modo de atualização de manifestos para workload-set o modo de atualização.

Se você tiver uma versão definida de carga de trabalho no arquivo global.json, os comandos de carga de trabalho estarão no workload-set modo, mesmo que você não tenha executado o config comando ou usado --version. O arquivo global.json substitui esses. Para usar a --version opção nesse caso, execute o comando fora do caminho que contém o arquivo global.json.

Se você não especificar a versão do conjunto de carga de trabalho no global.json, poderá usar a opção com o --version restore comand. Nesse caso, o comando seleciona o restore modo de atualização antes de workload-set restaurar as cargas de trabalho para a versão especificada do conjunto de cargas de trabalho.

No modo de atualização de manifestos, restore instala ou atualiza cargas de trabalho para a versão mais recente de cada carga de trabalho individual.

Verifique o modo de atualização e a versão

Para ver o modo de atualização atual, execute o config comando com a --update-mode opção sem um argumento. O modo é manifestos definidosorpela carga de trabalho'. Por exemplo:

dotnet workload config --update-mode
workload-set

Para ver a versão atual do conjunto de carga de trabalho, execute dotnet workload --version. Se um conjunto de carga de trabalho estiver instalado, você verá uma versão como 9.0.100-preview.7.24414.1 ou 8.0.402. Por exemplo:

dotnet workload --version
9.0.100-preview.7.24414.1

No modo de manifestos, ou se a versão do conjunto de carga de trabalho ainda não estiver estabelecida depois de mudar para workload-set o modo de atualização, você verá uma versão na forma de <feature band>-manifests.<hash>. Por exemplo:

dotnet workload --version
9.0.100-manifests.cf958b56

Escolha uma versão definida pela carga de trabalho

Os conjuntos de carga de trabalho são publicados para nuget.org com cada versão do SDK do .NET, sob a ID Microsoft.NET.Workloads.<feature band>do pacote . Para uma versão estável do SDK, planejamos sempre ter uma versão correspondente do conjunto de carga de trabalho. Assim, o SDK 8.0.400 pode instalar um conjunto de carga de trabalho 8.0.400, o 401 pode instalar um conjunto 401. Em geral, recomendamos que você instale o conjunto de carga de trabalho correspondente para um SDK estável.

Para versões de visualização, localize a versão correspondente do conjunto de carga de trabalho na guia LEIA-ME do pacote. Por exemplo, consulte a guia LEIA-ME para o pacote .NET 9 Preview 7.

Esta é uma versão prévia. No futuro, forneceremos maneiras de listar versões de conjuntos de carga de trabalho para ver o que está disponível e o que elas contêm.

Ignorar conjuntos de carga de trabalho

Para instalar ou atualizar para a versão mais recente de cada carga de trabalho individual disponível nos feeds configurados, selecione e use o modo de atualização de manifestos executando o comando workload config :

dotnet workload config --update-mode manifests

No SDK do .NET 8.0.4xx, o modo de manifestos é o padrão. Você precisa selecionar o modo de manifestos explicitamente somente se tiver selecionado workload-set explicitamente o modo de atualização anteriormente.