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 do conjunto de carga de trabalho para fornecer os seguintes benefícios:

  • Você controla a cadência de alteração das 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 modo de atualização workload-set, 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 enviadas ao mesmo tempo e funcionam juntas.
  • Você pode garantir que todos da sua equipe trabalhem sempre 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.

Veja algumas formas de usar conjuntos de carga de trabalho:

  • "Fixe" o comando install 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 vigente e a versão do conjunto de carga de trabalho.

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

Pré-requisitos

  • SDK do .NET 8.0.400 ou posterior.

    No SDK 8.0.400, os comandos dotnet workload estão no modo de atualização do conjunto de carga de trabalho apenas quando é explicitamente selecionado.

"Fixar" o comando de instalação

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

Para "fixar" o comando install:

  1. Escolha uma versão do conjunto de 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 modo de atualização workload-set, caso ainda não esteja selecionado.
    • Ele obtém o conjunto de carga de trabalho que tem a versão especificada.
    • No conjunto de cargas de trabalho, ele obtém a versão do manifesto da carga de trabalho especificada.
    • Ele instala a versão de manifesto da carga de trabalho.
    • Ele permanece no modo de atualização workload-set quando terminar.
  4. Escolha outra carga de trabalho para instalar, como maui-ios.

  5. dotnet workload install maui-ios
    

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

Usar --version com install ou update fixa install à versão especificada, mas update é configurado apenas para o modo de atualização workload-set, não para uma versão específica do conjunto de cargas de trabalho. Se você executar dotnet workload update sem a opção --version, o comando update:

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

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 será necessário apenas se você estiver no modo de atualização de manifestos. Se você não souber, verifique o modo de atualização atual.

  2. dotnet workload update
    

    No modo de atualização workload-set, 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 em global.json.

Atualizar para uma versão do conjunto de cargas de trabalho

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

  1. Escolha uma versão do conjunto de carga de trabalho. Por exemplo, 8.0.400.

  2. dotnet workload update --version 8.0.400
    

O modo de atualização workload-set será selecionado, caso isso ainda não tenha ocorrido.

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

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

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

  2. Crie um arquivo global.json parecido ao seguinte exemplo:

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

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

Se você tiver uma versão do conjunto de carga de trabalho no arquivo global.json, os comandos de carga de trabalho estarão no modo workload-set, mesmo que você não tenha executado o comando config ou usado --version. O arquivo global.json substitui isso. Para usar a opção --version 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 --version com o comando restore. Nesse caso, o comando restore seleciona o modo de atualização workload-set antes de 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 comando config com a opção --update-mode sem argumento. O modo é workload-setormanifests`. 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 tiver sido estabelecida após alternar para o modo de atualização workload-set, você verá uma versão na forma de <feature band>-manifests.<hash>. Por exemplo:

dotnet workload --version
9.0.100-manifests.cf958b56

Escolher uma versão do conjunto de carga de trabalho

Os conjuntos de carga de trabalho são publicados para nuget.org com cada versão do SDK do .NET, na 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. Portanto, 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 preliminares, encontre a versão correspondente do conjunto de carga de trabalho na guia README do pacote. Por exemplo, consulte a guia README do pacote .NET 9 Preview 7.

Essa é uma versão prévia. No futuro, forneceremos formas de listar versões de conjuntos de cargas de trabalho para ver o que está disponível e o que 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 config de carga de trabalho:

dotnet workload config --update-mode manifests

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