SDK do .NET, MSBuild e controle de versão do Visual Studio
O controle de versão do SDK do .NET e como ele se relaciona com o Visual Studio e o MSBuild pode ser confuso. MSBuild versões com Visual Studio, mas também está incluído no .NET SDK. O SDK tem uma versão mínima do MSBuild e do Visual Studio com a qual ele trabalha e não será carregado em uma versão do Visual Studio mais antiga do que essa versão mínima.
Controlo de Versão
A primeira parte da versão do SDK do .NET corresponde à versão do .NET que ele inclui, executa e destina por 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 aumenta com as atualizações de manutenção de cada mês.
Por exemplo, a versão 7.0.203 vem com o .NET 7, é a segunda versão secundária do Visual Studio desde que a 7.0.100 foi lançada pela primeira vez e é o terceiro patch desde a versão 7.0.200.
Ciclo de vida
O período de suporte para o SDK normalmente corresponde ao da versão do Visual Studio na qual ele está incluído.
Versão do SDK | Versão do MSBuild/Visual Studio | Data de envio | Ciclo de vida |
---|---|---|---|
2.1.5xx | 15,9 | 18 Nov | Ago '21 |
2.1.8xx | 16.2 (Sem VS) | Julho '19 | Ago '21 |
3.1.1xx | 16,4 | Dez '19 | Outubro '21 |
3.1.4xx | 16.7 | Ago '20 | Dez '22 |
5.0.1xx | 16.8 | Novembro '20 | Março '21 |
5.0.2xx | 16,9 | Março '21 | Maio '22 |
5.0.3xx | 16.10 | Maio '21 | Ago '21 |
5.0.4xx | 16.11 | Ago '21 | Maio '22 |
6.0.1xx | 17.0 | Novembro '21 | Nov '241 |
6.0.2xx | 17.1 | Fev '22 | Maio '22 |
6.0.3xx | 17,23 | Maio '22 | Outubro '23 |
6.0.4xx | 17,3 | Ago '22 | Nov '242 |
7.0.1xx | 17.4 | Novembro '22 | Maio '241 |
7.0.2xx | 17,53 | Fev '23 | Maio '23 |
7.0.3xx | 17,6 | Maio '23 | Maio '24 |
7.0.4xx | 17,7 | Ago '23 | Maio '242 |
8.0.1xx | 17.8 | Novembro '23 | TBD |
8.0.2xx | 17,93 | Fev '24 | TBD |
8.0.3xx | 17.10 | Maio '24 | TBD |
Nota
A segmentação net6.0
é oficialmente suportada apenas no Visual Studio 17.0+.
A segmentação net7.0
é oficialmente suportada apenas no Visual Studio 17.4+.
A segmentação net8.0
é oficialmente suportada apenas no Visual Studio 17.8+.
1 As bandas de recursos do SDK .1xx .NET são suportadas durante todo o ciclo de vida das principais versões do .NET. Durante o período de suporte estendido, o suporte é limitado a correções de segurança e correções não relacionadas à segurança mínimas de alta prioridade apenas para Linux. Para saber mais sobre o raciocínio para esse suporte estendido, consulte Suporte de compilação de origem.
2 As bandas de recursos do SDK .4xx .NET são suportadas durante a vida útil correspondente como instalações autônomas.
3 6.0.300, 7.0.200 e 8.0.200 requerem versões mais recentes do Visual Studio. Para obter mais informações, consulte as regras de suporte.
Regras de segmentação e suporte
A partir do .NET SDK 7.0.100 e do .NET SDK 6.0.300, uma política foi implementada em relação a 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
dotnet
versão. - A primeira versão do Visual Studio que oferece suporte a um novo TargetFramework torna-se um piso para as bandas de recursos desse SDK para a superfície da API Roslyn, destinos do MSBuild, geradores de origem, analisadores e assim por diante.
- A primeira versão de um novo SDK do .NET que oferece 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 para ferramentas e infraestrutura (por exemplo, ações e pipelines).
SDK | Versão do Visual Studio o SDK é fornecido com |
Versão mínima do Visual Studio | Max TargetFramework em versão mínima do Visual Studio |
Max 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 |
Nota
A tabela mostra como essas regras de controle de versão serão aplicadas no futuro, começando com o .NET SDK 7.0.100 e o .NET SDK 6.0.300. Ele também descreve como a política teria sido aplicada a versões enviadas anteriormente do SDK do .NET, se estivesse em vigor na época. No entanto, os requisitos para versões anteriores do SDK não mudam, ou seja, a versão mínima necessária do Visual Studio para .NET SDK 6.0.100 ou 6.0.200 permanece 16.10.
1 Uma alteração significativa 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, consulte dotnet/razor issue 8718.
Para garantir ferramentas consistentes, você deve usar dotnet build
em vez de msbuild
criar seu aplicativo quando possível.
Visualizar controle de versão
As versões principais do SDK do .NET normalmente são lançadas dentro de alguns dias de uma versão de visualização do Visual Studio. Embora possa haver outras combinações que funcionam, apenas a última visualização lançada é testada e oficialmente suportada. A tabela a seguir mostra com qual versão do Visual Studio cada versão de visualização do .NET foi testada antes do lançamento.
Versão de pré-visualização do SDK | Versão do Visual Studio |
---|---|
9.0.100 Pré-visualização 1 | 17.10 Pré-visualização 1 |
9.0.100 Pré-visualização 2 | 17.10 Pré-visualização 2 |
9.0.100 Pré-visualização 3 | 17.10 Pré-visualização 3 |
Referência
Comentários
https://aka.ms/ContentUserFeedback.
Brevemente: Ao longo de 2024, vamos descontinuar progressivamente o GitHub Issues como mecanismo de feedback para conteúdos e substituí-lo por um novo sistema de feedback. Para obter mais informações, veja:Submeter e ver comentários