O .NET 5 é a próxima versão principal do .NET Core após a versão 3.1. Nomeamos esta nova versão de .NET 5 em vez de .NET Core 4 por dois motivos:
Ignoramos os números de versão 4.x para evitar confusão com o .NET Framework 4.x.
Retiramos "Core" do nome para enfatizar que esta é a principal implementação do .NET no futuro. O .NET 5 suporta mais tipos de aplicativos e mais plataformas do que o .NET Core ou o .NET Framework.
ASP.NET Core 5.0 é baseado no .NET 5, mas mantém o nome "Core" para evitar confundi-lo com ASP.NET MVC 5. Da mesma forma, o Entity Framework Core 5.0 mantém o nome "Core" para evitar confundi-lo com o Entity Framework 5 e 6.
O .NET 5 inclui os seguintes aprimoramentos e novos recursos em comparação com o .NET Core 3.1:
O .NET 5 e versões posteriores são a principal implementação do .NET no futuro, mas o .NET Framework 4.x ainda é suportado. Não há planos para portar as seguintes tecnologias do .NET Framework para o .NET 5, mas há alternativas no .NET:
A implementação original do Windows Communication Foundation (WCF) era suportada apenas no Windows. No entanto, há uma porta de cliente disponível no .NET Foundation. É totalmente de código aberto, multiplataforma e suportado pela Microsoft. Os principais pacotes NuGet estão listados abaixo:
Os componentes de servidor que complementam as bibliotecas de cliente acima mencionadas estão disponíveis através do CoreWCF. A partir de abril de 2022, o CoreWCF é oficialmente suportado pela Microsoft. No entanto, para uma alternativa ao WCF, considere gRPC.
O .NET 5 não substitui o .NET Standard
O desenvolvimento de novos aplicativos pode especificar o net5.0 Target Framework Moniker (TFM) para todos os tipos de projeto, incluindo bibliotecas de classes. O compartilhamento de código entre cargas de trabalho do .NET 5 é simplificado: tudo o que você precisa é do net5.0 TFM.
Para aplicativos e bibliotecas do .NET 5, o net5.0 TFM combina e substitui os netcoreapp e netstandard TFMs. No entanto, se você planeja compartilhar código entre cargas de trabalho do .NET Framework, .NET Core e .NET 5, poderá fazê-lo especificando netstandard2.0 como seu TFM. Para obter mais informações, consulte .NET Standard.
Atualizações em C#
Os desenvolvedores que escrevem aplicativos .NET 5 terão acesso à versão e aos recursos mais recentes do C#. O .NET 5 é emparelhado com o C# 9, que traz muitos recursos novos para a linguagem. Aqui estão alguns destaques:
Registros: tipos de referência com semântica de igualdade baseada em valores e mutação não destrutiva suportada por uma nova with expressão.
Correspondência de padrões relacionais: Estende os recursos de correspondência de padrões a operadores relacionais para avaliações e expressões comparativas, incluindo padrões lógicos - novas palavras-chave and, ore not.
Instruções de nível superior: Como um meio para acelerar a adoção e o aprendizado do C#, o Main método pode ser omitido e um aplicativo tão simples quanto o exemplo a seguir é válido:
System.Console.Write("Hello world!");
Ponteiros de função: construções de linguagem que expõem os seguintes opcodes de linguagem intermediária (IL): ldftn e calli.
Para obter mais informações sobre os recursos disponíveis do C# 9, consulte O que há de novo no C# 9.
Geradores de origem
Além de alguns dos novos recursos C# destacados, os geradores de código-fonte estão entrando em projetos de desenvolvedores. Os geradores de código-fonte permitem que o código executado durante a compilação inspecione seu programa e produza arquivos adicionais que são compilados junto com o resto do código.
F# é a linguagem de programação funcional do .NET e, com o .NET 5, os desenvolvedores têm acesso ao F# 5. Um dos novos recursos são as strings interpoladas, semelhantes às strings interpoladas em C#, e até mesmo JavaScript.
let name = "David"
let age = 36
let message = $"{name} is {age} years old."
Além da interpolação básica de cordas, há a interpolação digitada. Com interpolação digitada, um determinado tipo deve corresponder ao especificador de formato.
let name = "David"
let age = 36
let message = $"%s{name} is %d{age} years old."
Este formato é semelhante à função que formata sprintf uma cadeia de caracteres com base em entradas seguras para tipos.
A origem deste conteúdo pode ser encontrada no GitHub, onde também pode criar e rever problemas e pedidos Pull. Para mais informações, consulte o nosso guia do contribuidor.
Comentários do .NET
O .NET é um projeto código aberto. Selecione um link para fornecer comentários:
O .NET é uma plataforma cruzada para programadores open source utilizada para criar diferentes tipos de aplicações. Com o .NET, pode utilizar múltiplas linguagens, editores e bibliotecas para criar conteúdos para a Web, dispositivos móveis, computadores, jogos e IoT.