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.
Expanda para ver versões .NET sem suporte
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 24 |
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 24 |
7.0.1xx | 17.4 | Novembro de 2022 | Maio de 2024 |
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 2024 |
Versões do .NET com suporte
Versão do SDK | Versão MSBuild/Visual Studio | Data de remessa | Ciclo de vida |
---|---|---|---|
8.0.1xx | 17.8 | Novembro de 23 | 25 de novembro1 |
8.0.2xx | 17.93 | Fevereiro de 24 | Maio '243 |
8.0.3xx | 17.10 | Maio de 2024 | TBD |
8.0.4xx | 17.11 | 24 de agosto | 25 de novembro2 |
9.0.1xx | 17.12 | Novembro de 24 | Maio de 261 |
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.
3 8.0.200 requer uma versão mais recente do Visual Studio. Para obter mais informações, confira as regras de suporte.
Regras de direcionamento e suporte
A política a seguir determina em quais versões do MSBuild e do Visual Studio uma determinada versão do SDK do .NET será executada:
- 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.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 |
8.0.400 | 17.11 | 17.8 | Net8.0 | Net8.0 |
9.0.100 | 17.12 | 17.11 | Net8.0 | Net9.0 |
Observação
A tabela descreve como essas regras de controle de versão são aplicadas, 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 oficialmente suportada. 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 |
9.0.100 Versão Prévia 4 | 17.11 Versão Prévia 1 |
9.0.100 Versão Prévia 5 | 17.11 Versão Prévia 2 |
9.0.100 Versão Prévia 6 | 17.11 Versão Prévia 3 |
9.0.100 Versão prévia 7 | 17.12 Versão prévia 1 |
9.0.100 RC 1 | 17.12 Versão prévia 2 |
9.0.100 RC 2 | 17.12 Versão prévia 3 |
9.0.100 GA | 17.12 GA |