Versões e suporte para .NET
A Microsoft fornece versões principais, versões secundárias e atualizações de manutenção (patches) para .NET. Este artigo explica os tipos de versão, atualizações de manutenção, bandas de recursos do SDK, períodos de suporte e opções de suporte.
Nota
Para obter informações sobre controle de versão e suporte para o .NET Framework, consulte Ciclo de vida do .NET Framework.
Tipos de versão
As informações sobre o tipo de cada versão são codificadas no número da versão no formato major.minor.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 do .NET Core 3.0.
- O .NET Core 5.0.15 é o décimo quinto patch para o .NET 5.
Para obter uma lista de versões lançadas do .NET e informações sobre a frequência com que o .NET é enviado, consulte a Política de suporte.
Principais lançamentos
As principais versões incluem novos recursos, nova área de superfície de API pública e correções de bugs. Os exemplos incluem .NET 6 e .NET 7. Devido à natureza das alterações, espera-se que estas versões tenham alterações de rutura. Os principais lançamentos são instalados lado a lado com os principais lançamentos anteriores.
Lançamentos menores
Versões secundárias também incluem novos recursos, área de superfície de API pública e correções de bugs, e também podem ter alterações de quebra. Um exemplo é o .NET Core 3.1. A diferença entre estes e os principais lançamentos é que a magnitude das mudanças é menor. Uma atualização de aplicativo do .NET Core 3.0 para 3.1 tem um salto menor para avançar. As versões secundárias são instaladas lado a lado com as 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 essas atualizações trazem correções de bugs de segurança e não relacionadas à segurança. Por exemplo, o .NET 5.0.8 foi a oitava atualização para o .NET 5. Quando essas atualizações incluem correções de segurança, elas são lançadas na "patch Tuesday", que é sempre a segunda terça-feira do mês. Espera-se que as atualizações de manutenção mantenham a compatibilidade. A partir do .NET Core 3.1, as atualizações de manutenção são atualizações que removem a atualização anterior. Por exemplo, a atualização de manutenção mais recente para 3.1 remove a atualização 3.1 anterior após a instalação bem-sucedida.
Bandas de recursos (somente SDK)
O controle de versão para o SDK do .NET funciona de forma ligeiramente diferente do tempo de execução do .NET. Para alinhar com 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 fornecidas 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 bandas de recursos. Por exemplo, o primeiro SDK do .NET 5 era 5.0.100. Esta versão corresponde à banda de recursos 5.0.1xx. As bandas de recursos são definidas nos grupos de centenas na terceira seção do número da versão. Por exemplo, 5.0.101 e 5.0.201 são versões em duas bandas de recursos diferentes, enquanto 5.0.101 e 5.0.199 estão na mesma banda de recursos. Quando o .NET SDK 5.0.101 é instalado, o .NET SDK 5.1.100 é removido da máquina, se existir. Quando o .NET SDK 5.0.200 é instalado na mesma máquina, o .NET SDK 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, consulte SDK do .NET, MSBuild e controle de versão do Visual Studio.
Roll-forward e compatibilidade de tempo de execução
As atualizações principais e secundárias são instaladas lado a lado com as versões anteriores. Um aplicativo criado para direcionar uma versão major.minor específica continua a usar esse tempo de execução direcionado mesmo se uma versão mais recente estiver instalada. O aplicativo não avança automaticamente para usar uma versão major.minor mais recente do tempo de execução, a menos que você opte por esse comportamento. Um aplicativo que foi criado para direcionar o .NET Core 3.0 não inicia automaticamente a execução no .NET Core 3.1. Recomendamos reconstruir o aplicativo e testar em relação a uma versão de tempo de execução principal ou secundária mais recente antes de implantar na produção. Para obter mais informações, consulte Aplicativos dependentes da estrutura avançam e Tempo de execução de implantação autônoma avança.
As atualizações de manutenção são tratadas de forma diferente das versões principais e secundárias. Um aplicativo criado para o .NET 7 de destino é executado no tempo de execução 7.0.0 por padrão. Ele avança automaticamente para usar um tempo de execução 7.0.1 mais recente quando essa atualização de serviço é instalada. Esse comportamento é o padrão porque queremos que as correções de segurança sejam usadas assim que forem instaladas sem qualquer outra ação necessária. Você pode desativar esse comportamento padrão de roll forward.
Ciclos de vida da versão .NET
As versões do .NET adotam o ciclo de vida moderno em vez do ciclo de vida fixo que foi usado para versões do .NET Framework. Os produtos que adotam um ciclo de vida moderno têm um modelo de suporte semelhante ao serviço, com períodos de suporte mais curtos e lançamentos mais frequentes.
Faixas de lançamento
Existem duas faixas de suporte para lançamentos:
Versões STS (Standard Term Support , suporte de termo padrão)
Estas versões são suportadas até 6 meses após os próximos lançamentos principais ou secundários.
Exemplo:
- O .NET 5 é uma versão STS e foi lançado em novembro de 2020. Foi apoiado por 18 meses, até maio de 2022.
- O .NET 7 é uma versão STS e foi lançado em novembro de 2022. Tem suporte por 18 meses, até maio de 2024.
Versões de suporte de longo prazo (LTS)
Essas versões são suportadas por um período mínimo de 3 anos, ou 1 ano após o próximo lançamento do LTS, se essa data for posterior.
Exemplo:
- O .NET Core 3.1 é uma versão LTS e foi lançado em dezembro de 2019. Foi apoiado por 3 anos, até dezembro de 2022.
- O .NET 6 é uma versão LTS e foi lançado em novembro de 2021. 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 seja suportada por mais tempo do que uma versão posterior. Por exemplo, o .NET Core 3.1 foi uma versão LTS com suporte até dezembro de 2022. A versão do .NET 5 foi lançada quase um ano depois, mas saiu do suporte mais cedo, em maio de 2022.
As atualizações de manutenção são enviadas mensalmente e incluem correções de segurança e não relacionadas à segurança (confiabilidade, compatibilidade e estabilidade). As atualizações de manutenção são suportadas até que a próxima atualização de manutenção seja lançada. As atualizações de manutenção têm comportamento de roll-forward em tempo de execução. Isso significa que os aplicativos são executados por padrão na atualização de serviço de tempo de execução instalada mais recente.
Como escolher uma versão
Se você estiver criando um serviço e espera continuar atualizando-o regularmente, uma versão do STS como o tempo de execução 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, a estabilidade pode ser mais importante do que o acesso aos recursos mais recentes. Seu aplicativo pode precisar ser suportado por um determinado período antes que o consumidor possa atualizar para a próxima versão do aplicativo. Nesse caso, uma versão LTS como o tempo de execução do .NET 6 pode ser a opção certa.
Nota
Recomendamos atualizar para a versão mais recente do SDK, mesmo que seja uma versão do STS, pois ela pode ter como alvo todos os tempos de execução disponíveis.
Suporte para atualizações de manutenção
As atualizações de serviço do .NET são suportadas até que a próxima atualização de serviço seja lançada. A cadência de lançamento é mensal.
Você precisa instalar regularmente atualizações de manutenção para garantir que seus aplicativos estejam em um estado seguro e compatível. Por exemplo, se a atualização de serviço mais recente para o .NET 7 for 7.0.8 e enviarmos a 7.0.9, a 7.0.8 não será mais a mais recente. O nível de serviço suportado para o .NET 7 é, então, 7.0.9.
Para obter informações sobre as atualizações de serviço mais recentes para cada versão principal e secundária, consulte a página de downloads do .NET.
Fim do suporte
O fim do suporte refere-se à data após a qual a Microsoft deixa de fornecer correções, atualizações ou assistência técnica para uma versão do produto. Antes desta data, certifique-se de que passou a utilizar uma versão suportada. As versões sem suporte não recebem mais atualizações de segurança que protegem seus aplicativos e dados. Para obter os intervalos de datas suportados para cada versão do .NET, consulte a Política de suporte.
Sistemas operativos suportados
O .NET pode ser executado em uma variedade de sistemas operacionais. Cada um desses sistemas operacionais tem um ciclo de vida definido por sua organização patrocinadora (por exemplo, Microsoft, Red Hat ou Apple). Levamos em conta esses cronogramas de ciclo de vida ao adicionar e remover o suporte para versões do sistema operacional.
Quando uma versão do sistema operacional deixa de ser suportada, paramos de testar essa versão e fornecer suporte para essa versão. Os usuários precisam avançar para uma versão suportada do sistema operacional para obter suporte.
Para obter mais informações, consulte a Política de Ciclo de Vida do .NET OS.
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 de suporte da Microsoft.
Você precisa estar em um nível de serviço suportado (a última atualização de serviço disponível) para ser elegível para suporte. Se um sistema estiver executando o .NET 7 e a atualização de serviç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, consulte a página Comunidade.