Versões e suporte para .NET

A Microsoft envia versões principais, versões secundárias e atualizações de manutenção (patches) para .NET. Este artigo explica os tipos de versão, as atualizações de manutenção, as bandas de recursos do SDK, os períodos de suporte e as opções de suporte.

Observação

Para obter informações sobre controle de versão e suporte para o .NET Framework, confira Ciclo de vida do .NET Framework.

Tipos de versão

Informações sobre o tipo de cada versão são codificadas no número de versão seguindo o padrão principal.secundária.patch.

Por exemplo:

  • O .NET 6 e o NET 7 são versões principais.
  • O .NET Core 3.1 é a primeira versão secundária após a versão principal .NET Core 3.0.
  • O .NET Core 5.0.15 é o décimo quinto patch do .NET 5.

Para obter uma lista das versões lançadas do .NET e informações sobre a frequência com que o .NET é fornecido, confira a Política de suporte.

Versões principais

As versões principais incluem novos recursos, nova área de superfície de API pública e correções de bugs. Exemplos incluem o .NET 6 e o .NET 7. Devido à natureza das alterações, espera-se que essas versões tenham alterações interruptivas. As versões principais são instaladas lado a lado com as versões principais anteriores.

Versões secundárias

As versões secundárias também incluem novos recursos, área de superfície de API pública e correções de bugs, além de também poderem ter alterações interruptivas. Um exemplo é o .NET Core 3.1. A diferença entre essas e as versões principais é que a magnitude das alterações é inferior. Um aplicativo atualizado do .NET Core 3.0 para o 3.1 tem um salto menor para avançar. Versões secundárias são instaladas lado a lado com versões secundárias anteriores.

Atualizações de manutenção

As atualizações de manutenção (patches) são enviadas quase todos os meses e carregam correções de bugs relacionadas ou não à segurança. Por exemplo, o .NET 5.0.8 era a oitava atualização do .NET 5. Quando essas atualizações incluem correções de segurança, elas são lançadas na "terça-feira do patch", que ocorrem sempre na segunda terça-feira do mês. Espera-se que as atualizações de manutenção mantenham a compatibilidade. Do .NET Core 3.1 em diante, as atualizações de manutenção passaram a ser upgrades que removem a atualização anterior. Por exemplo, a atualização de manutenção mais recente da versão 3.1 remove a atualização 3.1 anterior após a instalação bem-sucedida.

Faixas de recursos (somente SDK)

O controle de versão do SDK do .NET funciona um pouco diferente do runtime do .NET. Para se alinhar com as novas versões do Visual Studio, as atualizações do SDK do .NET às vezes incluem novos recursos ou novas versões de componentes como MSBuild e NuGet. Esses novos recursos ou componentes podem ser incompatíveis com as versões que foram enviadas em atualizações anteriores do SDK para a mesma versão principal ou secundária.

Para diferenciar essas atualizações, o SDK do .NET usa o conceito de faixas de recursos. Por exemplo, o primeiro SDK do .NET 5 foi o 5.0.100. Esta versão corresponde à faixa de recursos 5.0.1xx. As faixas de recursos são definidas no grupo das centenas da terceira seção do número de versão. Por exemplo, 5.0.101 e 5.0.201 são versões em duas faixas de recursos diferentes, enquanto 5.0.101 e 5.0.199 estão na mesma faixa de recursos. Quando o SDK do .NET 5.0.101 é instalado, o SDK do .NET 5.1.100 é removido do computador se ele existir. Quando o SDK do .NET 5.0.200 é instalado no mesmo computador, o SDK do .NET 5.0.101 não é removido.

Para obter mais informações sobre a relação entre o SDK do .NET e as versões do Visual Studio, confira SDK do .NET, o MSBuild e o controle de versão do Visual Studio.

Roll forward e compatibilidade do runtime

As atualizações principais e secundárias são instaladas lado a lado com versões anteriores. Um aplicativo criado para direcionar uma versão principal.secundária específica continua a usar esse runtime de destino mesmo se houver uma versão mais recente instalada. O aplicativo não efetua automaticamente roll forward para usar uma versão principal.secundária mais recente do runtime, a menos que você opte por esse comportamento. Um aplicativo criado para ser direcionado ao .NET Core 3.0 não começa a ser executado automaticamente no .NET Core 3.1. É recomendável recriar o aplicativo e testar em uma versão de runtime principal ou secundária mais recente antes de implantar em produção. Para obter mais informações, confira Efetuar roll forward de aplicativos dependentes do Framework e Efetuar roll forward de runtime de implantação autossuficiente.

As atualizações de manutenção são tratadas de modo diferente das versões principais e secundárias. Um aplicativo criado para direcionar o .NET 7 é executado no runtime 7.0.0 por padrão. Ele avança automaticamente para usar um runtime 7.0.1 mais recente quando essa atualização de manutenção é instalada. Esse comportamento é o padrão porque queremos que as correções de segurança sejam usadas assim que elas forem instaladas sem nenhuma outra ação necessária. Você pode recusar esse comportamento de roll forward padrão.

Ciclos de vida de versão do .NET

As versões do .NET adotam o ciclo de vida moderno em vez do ciclo de vida fixo usado para versões do .NET Framework. Os produtos que adotam um ciclo de vida moderno têm um modelo de suporte semelhante a um serviço, com períodos de suporte mais curtos e versões mais frequentes.

Faixas de versão

Há duas faixas de suporte para versões:

  • Versões do Suporte a Termos Padrão (STS)

    Essas versões têm suporte até 6 meses após a próxima versão principal ou secundária.

    Exemplo:

    • O .NET 5 é uma versão STS e foi lançado em novembro de 2020. Ele teve suporte por 18 meses, até maio de 2022.
    • O .NET 7 é uma versão STS e foi lançado em novembro de 2022. Ele tem suporte por 18 meses, até maio de 2024.
  • Versões com LTS (suporte de longo prazo)

    Essas versões têm suporte por no mínimo 3 anos, ou 1 ano após a próxima versão LTS ser enviada, se essa data for inferior.

    Exemplo:

    • O .NET Core 3.1 é uma versão LTS e foi lançado em dezembro de 2019. Ele teve suporte por 3 anos, até dezembro de 2022.
    • O .NET 6 é uma versão LTS e foi lançado em novembro de 2021. Ele tem suporte por 3 anos, até novembro de 2024.

As versões alternam entre LTS e STS, portanto, é possível que uma versão anterior tenha suporte por mais tempo do que uma posterior. Por exemplo, o .NET Core 3.1 era uma versão LTS com suporte até dezembro de 2022. A versão do .NET 5 foi enviada quase um ano depois, mas deixou de ter suporte antes, em maio de 2022.

As atualizações de manutenção são enviadas mensalmente e incluem correções relacionadas à segurança ou de outra natureza (confiabilidade, compatibilidade e estabilidade). As atualizações de manutenção tem suporte até que a próxima atualização de manutenção seja lançada. As atualizações de manutenção têm o comportamento de roll forward do runtime. Isso significa que os aplicativos executam por padrão sobre a atualização de manutenção do runtime instalada mais recentemente.

Como escolher uma versão

Se você estiver criando um serviço e espera continuar atualizando-o regularmente, uma versão STS como o runtime do .NET 7 pode ser sua melhor opção para se manter atualizado com os recursos mais recentes que o .NET tem a oferecer.

Se você estiver criando um aplicativo cliente que será distribuído aos consumidores, estabilidade poderá ser mais importante do que acesso aos recursos mais recentes. Talvez o aplicativo precise ter suporte por um determinado período antes que o consumidor possa atualizar para a próxima versão. Nesse caso, uma versão LTS como o runtime do .NET 6 pode ser a opção certa.

Observação

É recomendável atualizar para a versão mais recente do SDK, mesmo que seja uma versão STS, pois ela pode direcionar todos os runtimes disponíveis.

Suporte para fornecimento de atualizações

As atualizações de manutenção do .NET tem suporte até que a próxima atualização de manutenção seja lançada. A cadência de lançamento é mensal.

Você precisa instalar regularmente as atualizações de manutenção para garantir que seus aplicativos estejam em um estado seguro e com suporte. Por exemplo, se a atualização de manutenção mais recente do .NET 7 for 7.0.8 e enviarmos 7.0.9, a 7.0.8 não será mais a mais recente. O nível de manutenção com suporte para .NET 7 é então 7.0.9.

Para obter informações sobre as atualizações de manutenção mais recentes de cada versão principal e secundária, confira a página de downloads do .NET.

Fim do suporte

O fim do suporte refere-se à data após a qual a Microsoft não fornece mais correções, atualizações ou assistência técnica para uma versão do produto. Antes dessa data chegar, verifique se você passou a usar uma versão com suporte. As versões sem suporte não recebem mais as atualizações de segurança que protegem seus aplicativos e dados. Para obter os intervalos de datas com suporte para cada versão do .NET, confira a Política de suporte.

Sistemas operacionais compatíveis

O .NET pode ser executado em uma variedade de sistemas operacionais. Cada um desses sistemas operacionais tem um ciclo de vida definido pela organização patrocinadora (por exemplo, Microsoft, Red Hat ou Apple). Levamos em conta essas programações de ciclo de vida ao adicionar e remover suporte para as versões do sistema operacional.

Quando uma versão do sistema operacional fica sem suporte, paramos de testar e fornecer suporte para ela. Os usuários precisam migrar para uma versão do sistema operacional com suporte para obter assistência.

Para obter mais informações, confira a Política de Ciclo de Vida de Sistema Operacional do .NET.

Obter suporte

Você pode escolher entre o suporte assistido da Microsoft e o suporte da Comunidade.

Suporte da Microsoft

Para obter suporte assistido, entre em contato com um Profissional do Suporte da Microsoft.

Você precisa estar em um nível de manutenção com suporte (a atualização de manutenção mais recente disponível) a fim de ser qualificado para receber suporte. Se um sistema estiver executando o .NET 7 e a atualização de manutenção 7.0.8 tiver sido lançada, a 7.0.8 precisará ser instalada como uma primeira etapa.

Suporte da comunidade

Para obter suporte da comunidade, confira a página Comunidade.