Partilhar via


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. As versões do MSBuild integradas ao Visual Studio, mas também fazem parte do .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.

Versionamento

O número de versão do SDK .NET utiliza o formato major.minor.patch, onde:

  • major.minor corresponde à versão .NET que o SDK inclui, onde corre e direciona por defeito.
  • O dígito das centenas de patch identifica a banda de características—por exemplo, 1xx, 2xx, 3xx, ou 4xx. A faixa de funcionalidades começa em 1 e aumenta a cada lançamento trimestral do SDK .NET.
  • Os dois últimos dígitos são patch a versão da atualização, que aumenta com cada atualização mensal de manutenção.

Por exemplo, a versão 7.0.203 vem com .NET 7, é o segundo lançamento trimestral de feature bands desde o lançamento da 7.0.100, e é o terceiro patch desde o lançamento da 7.0.200.

Uma instalação do Visual Studio inclui uma única cópia correspondente do SDK do .NET. Se você atualizar sua instância do Visual Studio, o SDK do .NET instalado pelo Visual Studio também será atualizado, inclusive nas bandas de recursos do SDK do .NET e nas bandas principais. Se você quiser usar um SDK do .NET diferente do que está instalado pelo Visual Studio, você pode instalá-lo a partir da página de download do .NET , e a atualização do Visual Studio não tocará nessa versão. Você é responsável por atualizar essa cópia do SDK do .NET a partir de então.

A partir do Visual Studio 18.0, o Visual Studio disponibiliza versões menores mensais, enquanto o SDK .NET continua a ser lançado trimestralmente. Os lançamentos do Visual Studio entre os lançamentos trimestrais do .NET SDK contêm apenas versões de patch do mais recente .NET SDK.

Nota

O SDK do .NET oferece suporte ao direcionamento de versões de nível inferior do .NET, portanto, recomendamos sempre atualizar seu SDK do .NET junto com sua versão do Visual Studio.

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.

Expanda para ver as versões .NET sem suporte
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 Novembro '24
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 Novembro '24
7.0.1xx 17.4 Novembro '22 Maio '24
7.0.2xx 17,53 Fev '23 Maio '23
7.0.3xx 17,6 Maio '23 Maio '24
7.0.4xx 17,7 Agosto '23 Maio '24

Versões .NET suportadas

Versão do SDK Versão do MSBuild/Visual Studio Data de envio Ciclo de vida
8.0.1xx 17.8 Novembro '23 26 de Novembro1
8.0.2xx 17,9 Fev '24 Maio '24
8.0.3xx 17.10 Maio '24 Janeiro '26
8.0.4xx 17.11 Ago '24 Novembro '262
9.0.1xx 17.12 Novembro '24 Maio '26
9.0.2xx 17.13 Fev '25 Maio '25
9.0.3xx 17.14 Maio '25 Novembro '262
10.0.1xx 18,0 Novembro '25 Novembro '28
10.0.2xx 18.4 Março '26 Maio '26

Nota

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 este suporte prolongado, consulte o suporte de compilação de origem.

2 As faixas de funcionalidades finais do SDK .NET de uma versão principal são suportadas durante toda a vida útil do tempo de execução correspondente como instalações independentes.

Ciclo de vida do Visual Studio 2026

Ciclo de vida do Visual Studio 2022

Ciclo de vida do Visual Studio 2019

Regras de focalização 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 dotnet versão.
  • A primeira versão do Visual Studio que oferece suporte a um novo _TargetFramework_ serve como base para os conjuntos de funcionalidades desse SDK para a superfície da API Roslyn, targets do MSBuild, geradores de código, analisadores, entre outros.
  • 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 um trimestre para a migração de ferramentas e infraestrutura (por exemplo, ações e pipelines).
SDK Versão do Visual Studio
O SDK é distribuído com
Versão mínima do Visual Studio O valor máximo do TargetFramework em
versão mínima do Visual Studio
Max TargetFramework em dotnet
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
9.0.200 17.13 17.12 Net9,0 Net9,0
9.0.300 17.14 17.12 Net9,0 Net9,0
10.0.100 18,0 17.14 Net9,0 Net10.0
10.0.200 18.4 18,0 Net10.0 Net10.0

Nota

A tabela mostra como essas regras de controle de versão são aplicadas, 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.

A segmentação net8.0 é oficialmente suportada apenas no Visual Studio 17.8+.

A segmentação net9.0 é oficialmente suportada apenas no Visual Studio 17.12+.

A segmentação net10.0 é oficialmente suportada apenas no Visual Studio 18.0+.

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

SDK e matriz de suporte Visual Studio

Embora a maioria dos programadores utilize o SDK .NET incluído na sua versão do Visual Studio, algumas configurações envolvem versões de SDK e Visual Studio incompatíveis. Não há garantia de que todas as versões do Visual Studio funcionem com todos os SDK .NET em suporte. As configurações mais comuns são testadas para garantir o melhor esforço de compatibilidade.

Compatibilidade para trás e para a frente

  • Configuração principal suportada: Use a versão do SDK incluída na sua instalação do Visual Studio
    • Visual Studio 17.14 e .NET 9.0.3xx
    • Visual Studio 18.0 e .NET 10.0.1xx
  • Compatibilidade retroativa: A utilização da banda de funcionalidades mais recente da versão anterior do SDK (por exemplo, 8.0.4xx no Visual Studio 17.14) é suportada com compatibilidade de melhor esforço. A equipa .NET determina quando realizar retroportações com base no risco e no impacto no cliente. Embora SDKs mais antigos do que os mais recentes da banda anterior possam funcionar, a equipa do .NET não os testa nem faz esforço para garantir qualquer compatibilidade.
  • Compatibilidade futura: Usar um SDK mais recente (por exemplo, .NET 10 SDK no Visual Studio 17.14) é permitido sem bloqueios, mas o direcionamento a runtimes mais recentes em versões antigas do Visual Studio não é suportado e gera um aviso de compilação.

Orientações

Usa o SDK que veio com a tua instância Visual Studio (ou a versão mais recente disponível em CI ou Visual Studio Code), pois essa versão tem sempre as funcionalidades mais recentes, incluindo atualizações de segurança.

Suporte de segmentação a nível inferior

O SDK .NET mantém suporte direcionado para versões .NET fora de suporte. O SDK 10.0.100 pode construir aplicações direcionadas net9.0 até à versão netcoreapp1.0.

Princípios orientadores

  • Suporte existente preservado: O suporte direcionado para versões fora de suporte permanece no SDK sem remoção ativa. Os clientes que atualizam o seu SDK ou a versão do Visual Studio não devem ter as suas versões quebradas simplesmente por terem como objetivo uma versão .NET mais antiga.
  • Novas funcionalidades: Novas funcionalidades do SDK não são obrigatórias para suportar versões fora de suporte, a menos que excluir tal suporte represente um custo ou risco considerável.
  • Correções de falhas: Se surgirem problemas ao visar versões fora de suporte, é implementada uma correção com base no custo da mesma. O objetivo é evitar que os clientes enfrentem problemas na atualização.

Pré-visualização 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 pré-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
10.0.100 RC 1 18.0.0 Iniciados (11010.61)
10.0.100 RC 2 18.0.0 Insiders (11111.16)
11.0.100 Prévia 1 18.4.0 Insiders
11.0.100 Preview 2 18.5.0 Insiders

Referência