O .NET 5 é a próxima versão principal do .NET Core a seguir 3,1. Nomeamos essa nova versão do .NET 5 em vez do .NET Core 4 por dois motivos:
Pulamos os números de versão 4.x para evitar confusão com .NET Framework 4.x.
Tiramos "Core" do nome para enfatizar que essa é a implementação principal do .NET daqui para frente. O .NET 5 dá suporte a mais tipos de aplicativos e mais plataformas do que .NET Core ou .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 implementação principal do .NET daqui para frente, mas .NET Framework 4.x ainda tem suporte. Não há planos para portar as seguintes tecnologias de .NET Framework para o .NET 5, mas há alternativas no .NET:
A implementação original do WCF (Windows Communication Foundation) só tinha suporte no Windows. No entanto, há uma porta de cliente disponível no .NET Foundation. Ele é totalmente de código aberto, multiplataforma e compatível com a Microsoft. Os principais pacotes NuGet estão listados abaixo:
Os componentes do servidor que complementam as bibliotecas de clientes mencionadas acima estão disponíveis por meio do CoreWCF. A partir de abril de 2022, o CoreWCF tem suporte oficial da Microsoft. No entanto, para uma alternativa ao WCF, considere gRPC.
O .NET 5 não substitui .NET Standard
O novo desenvolvimento de aplicativos pode especificar o TFM (Moniker da Estrutura de Destino) net5.0 para todos os tipos de projeto, incluindo bibliotecas de classes. O compartilhamento de código entre cargas de trabalho do .NET 5 é simplificado porque tudo o que você precisa é do net5.0 TFM.
Para aplicativos e bibliotecas do .NET 5, o net5.0 TFM combina e substitui os TFMs netcoreapp e netstandard. No entanto, se você planeja compartilhar código entre cargas de trabalho de .NET Framework, .NET Core e .NET 5, poderá fazer isso especificando netstandard2.0 como seu TFM. Para obter mais informações, confira .NET Standard.
Atualizações de C#
Os desenvolvedores de aplicativos .NET 5 terão acesso à versão e aos recursos mais recentes do C#. O .NET 5 é combinado com o C# 9, o que traz muitos novos recursos para a linguagem. Veja aqui alguns destaques:
Registros: tipos de referência com semântica de igualdade baseada em valor e mutação não destrutiva suportada por uma nova expressão with.
Correspondência de padrões relacionais: estende os recursos de correspondência de padrões para operadores relacionais para avaliações e expressões comparativas, incluindo padrões lógicos - novas palavras-chave and, or e not.
Instruções de nível superior: como um meio de acelerar a adoção e o aprendizado de C#, o método Main pode ser omitido e o aplicativo tão simples quanto o seguinte é válido:
C#
System.Console.Write("Hello world!");
Ponteiros de função: construções de linguagem que expõem os seguintes opcodes de IL (linguagem intermediária): ldftn e calli.
Para obter mais informações sobre os recursos disponíveis do C# 9, consulte Novidades no C# 9.
Geradores de origem
Além de alguns dos novos recursos em C# realçados, os geradores de origem estão entrando em projetos de desenvolvedor. Os geradores de origem permitem que o código executado durante a compilação inspecione seu programa e produza arquivos adicionais que são compilados junto com o restante do código.
F# é a linguagem de programação funcional .NET e, com o .NET 5, os desenvolvedores têm acesso ao F# 5. Um dos novos recursos são cadeias de caracteres interpoladas, semelhantes à cadeia de caracteres interpolada em C# e até mesmo JavaScript.
F#
let name = "David"let age = 36let message = $"{name} is {age} years old."
Além da interpolação de cadeia de caracteres básica, há interpolação por tipo. Com a interpolação por tipo, um determinado tipo deve corresponder ao especificador de formato.
F#
let name = "David"let age = 36let message = $"%s{name} is %d{age} years old."
Esse formato é semelhante à função sprintf que formata uma cadeia de caracteres com base em entradas fortemente tipadas.
A fonte deste conteúdo pode ser encontrada no GitHub, onde você também pode criar e revisar problemas e solicitações de pull. Para obter mais informações, confira o nosso guia para colaboradores.
Comentários do .NET
O .NET é um projeto código aberto. Selecione um link para fornecer comentários:
O .NET é uma plataforma de desenvolvedor gratuita, multiplataforma e de software livre para a criação de muitos diferentes tipos de aplicativos. Com o .NET, você pode usar várias linguagens, editores e bibliotecas para criação para Web, dispositivo móvel, desktop, jogos e IoT.