Controle de versão do .NET, MSBuild e Visual Studio

O controle de versão do SDK do .NET e a forma como ele se relaciona com o Visual Studio e o MSBuild podem ser confusos. As versões do MSBuild com o Visual Studio, mas também estão incluídas no SDK do .NET. O SDK tem uma versão mínima do MSBuild e do Visual Studio com a qual ele funciona e não será carregado em uma versão do Visual Studio mais antiga que a versão mínima.

Controle de versão

A primeira parte da versão do SDK do .NET corresponde à versão do .NET que ela inclui, onde é executada e que tem destinos como padrão. A banda de recursos começa em 1 e aumenta para cada versão secundária trimestral do Visual Studio. A versão do patch incrementa com as atualizações de manutenção de cada mês.

Por exemplo, a versão 7.0.203, que é fornecida com o .NET 7, é a segunda versão secundária do Visual Studio desde que a versão 7.0.100 foi lançada pela primeira vez e é o terceiro patch desde o lançamento da 7.0.200.

Ciclo de vida

O período de suporte para o SDK normalmente corresponde ao da versão do Visual Studio em que ele está incluído.

Versão do SDK Versão MSBuild/Visual Studio Data de remessa Ciclo de vida
2.1.5xx 15,9 Novembro de 2018 Agosto de 2021
2.1.8xx 16.2 (Sem VS) Julho de 2019 Agosto de 2021
3.1.1xx 16.4 Dezembro de 2019 Outubro de 2021
3.1.4xx 16.7 Agosto de 2020 Dezembro de 2022
5.0.1xx 16.8 Novembro de 2020 Março de 2021
5.0.2xx 16,9 Março de 2021 Maio de 2022
5.0.3xx 16,10 Maio de 2021 Agosto de 2021
5.0.4xx 16.11 Agosto de 2021 Maio de 2022
6.0.1xx 17.0 Novembro de 2021 Novembro de 20241
6.0.2xx 17.1 Fevereiro de 2022 Maio de 2022
6.0.3xx 17.23 Maio de 2022 Out 23
6.0.4xx 17.3 Agosto de 2022 Novembro de 20242
7.0.1xx 17.4 Novembro de 2022 Maio de 20241
7.0.2xx 17.53 Fev 23 Maio 23
7.0.3xx 17.6 Maio 23 Maio de 2024
7.0.4xx 17,7 Agosto de 2023 Maio de 20242
8.0.1xx 17.8 Novembro de 23 TBD
8.0.2xx 17.93 Fevereiro de 24 TBD
8.0.3xx 17.10 Maio de 2024 TBD

Observação

O direcionamento net6.0 tem suporte oficial apenas no Visual Studio 17.0+. O direcionamento de net7.0 tem suporte oficial apenas no Visual Studio 17.4+. O direcionamento de net8.0 tem suporte oficial apenas no Visual Studio 17.8+.

1 .As faixas de recursos do SDK 1xx do .NET têm suporte ao longo do ciclo de vida das principais versões do .NET. No período de suporte estendido, o suporte é limitado a correções de segurança e a correções mínimas de alta prioridade não relacionadas à segurança somente para Linux. Para saber mais sobre a justificativa para esse suporte estendido, confira Suporte ao build do código-fonte.

As faixas de recursos de SDK do .NET 2.4xx têm suporte durante a vida útil do runtime correspondente como instalações autônomas.

As versões 3 6.0.300, 7.0.200 e 8.0.200 exigem versões mais recentes do Visual Studio. Para obter mais informações, confira as regras de suporte.

Ciclo de vida do Visual Studio 2019

Ciclo de vida do Visual Studio 2022

Regras de direcionamento e suporte

Do SDK do .NET 7.0.100 e do SDK do .NET 6.0.300 em diante, uma política foi implementada para definir em quais versões do MSBuild e do Visual Studio uma determinada versão do SDK do .NET será executada. A política é:

  • Cada novo TargetFramework requer uma nova versão do Visual Studio ou uma nova versão do dotnet.
  • A primeira versão do Visual Studio que dá suporte a um novo TargetFramework se torna uma base para as faixas de recursos dessa superfície do SDK para API Roslyn, destinos do MSBuild, geradores de origem, analisadores e assim por diante.
  • A primeira versão de um novo SDK do .NET que dá suporte a um novo TargetFramework ainda pode ser usada com a versão anterior do Visual Studio para permitir a migração de um quarto de ferramentas e infraestrutura (por exemplo, ações e pipelines).
. Versão do Visual Studio
o SDK é fornecido com
Versão mínima do Visual Studio Máximo de TargetFramework em
versão mínima do Visual Studio
Máximo de TargetFramework em dotnet
6.0.100 17.0 16.11 Net5.0 Net6.0
6.0.200 17.1 17.0 Net6.0 Net6.0
6.0.300 17.2 17.0 Net6.0 Net6.0
6.0.400 17.3 17.0 Net6.0 Net6.0
7.0.100 17.4 17.3 Net6.0 Net7.0
7.0.200 17.5 17.4 Net7.0 Net7.0
7.0.300 17.6 17.41 Net7.0 Net7.0
7.0.400 17,7 17.4 Net7.0 Net7.0
8.0.100 17.8 17,7 Net7.0 Net8.0
8.0.200 17.9 17.8 Net8.0 Net8.0
8.0.300 17.10 17.8 Net8.0 Net8.0

Observação

A tabela descreve como essas regras de controle de versão serão aplicadas daqui para frente, começando com o SDK do .NET 7.0.100 e o SDK do .NET 6.0.300. Ela também descreve como a política teria sido aplicada a versões anteriores enviadas do SDK do .NET, se estivesse em vigor na época. No entanto, os requisitos das versões anteriores do SDK não mudam, ou seja, a versão mínima necessária do Visual Studio para o SDK do .NET 6.0.100 ou 6.0.200 permanece a 16.10.

1 Uma alteração interruptiva na versão 7.0.300 para desenvolvimento Blazor e Razor requer o Visual Studio versão 17.6 ou mais recente. Para obter mais informações, confira o problema dotnet/roslyn 8718.

Para garantir ferramentas consistentes, você deve usar dotnet build em vez de msbuild para criar o aplicativo quando possível.

Controle de versão da versão prévia

As principais versões do SDK do .NET normalmente são lançadas após poucos dias de uma versão prévia do Visual Studio. Embora possa haver outras combinações que funcionem, apenas a versão prévia mais recente lançada é testada e tem suporte oficial. A tabela a seguir mostra com qual versão do Visual Studio cada versão prévia do .NET foi testada antes do lançamento.

Versão prévia do SDK Versão do Visual Studio
9.0.100 Versão Prévia 1 17.10 Versão Prévia 1
9.0.100 Versão Prévia 2 17.10 Versão Prévia 2
9.0.100 Versão Prévia 3 17.10 Versão Prévia 3

Referência