Compartir a través de


Novedades de .NET 5

.NET 5 es la próxima versión principal de .NET Core después de la versión 3.1. Esta versión se denominaba .NET 5 en lugar de .NET Core 4 por dos motivos:

  • Se omitieron los números de versión 4.x para evitar confusiones con .NET Framework 4.x.
  • "Core" se quitó del nombre para resaltar que se trata de la implementación principal de .NET en el futuro. .NET 5 admite más tipos de aplicaciones y más plataformas que .NET Core o .NET Framework.

ASP.NET Core 5.0 se basa en .NET 5, pero conserva el nombre "Core" para evitar confundirlo con ASP.NET MVC 5. Del mismo modo, Entity Framework Core 5.0 conserva el nombre "Core" para evitar confundirlo con Entity Framework 5 y 6.

.NET 5 incluye las siguientes mejoras y nuevas características en comparación con .NET Core 3.1:

.NET 5 no reemplaza .NET Framework

.NET 5 y versiones posteriores son la implementación principal de .NET en adelante, pero todavía se admite .NET Framework 4.x. No hay planes para migrar las siguientes tecnologías de .NET Framework a .NET 5, pero hay alternativas en .NET:

Tecnología Alternativa recomendada
Formularios web ASP.NET Core Blazor o Razor Pages
Windows Workflow (WF) Flujos de trabajo de Elsa

Windows Communication Foundation

La implementación original de Windows Communication Foundation (WCF) solo se admite en Windows. Sin embargo, hay un puerto de cliente disponible en .NET Foundation. Es totalmente código abierto, multiplataforma y compatible con Microsoft. Los paquetes NuGet principales se enumeran a continuación:

Los componentes de servidor que complementan las bibliotecas cliente mencionadas anteriormente están disponibles a través de CoreWCF. A partir de abril de 2022, CoreWCF es oficialmente compatible con Microsoft. Sin embargo, como una alternativa a WCF, considere usar gRPC.

.NET 5 no reemplaza .NET Standard

El desarrollo de aplicaciones nuevo puede especificar el moniker de la plataforma de destino (TFM) net5.0 para todos los tipos de proyecto, incluidas las bibliotecas de clases. El uso compartido de código entre cargas de trabajo de .NET 5 se simplifica: todo lo que necesita es el TFM net5.0.

En el caso de las aplicaciones y bibliotecas de .NET 5, el TFM net5.0 combina y reemplaza los TFMs netcoreapp y netstandard. Sin embargo, si planea compartir código entre las cargas de trabajo de .NET Framework, .NET Core y .NET 5, puede hacerlo especificando netstandard2.0 como TFM. Para obtener más información, consulte .NET Standard.

Actualizaciones de C#

Los desarrolladores que escriben aplicaciones de .NET 5 tendrán acceso a la versión y características más recientes de C#. .NET 5 se empareja con C# 9, lo que aporta muchas características nuevas al lenguaje. Estos son algunos aspectos destacados:

  • Registros: tipos de referencia con semántica de igualdad basada en valores y mutación no destructiva que admite una expresión with nueva.

  • coincidencia de patrones relacionales: amplía las funcionalidades de coincidencia de patrones a operadores relacionales para evaluaciones comparativas y expresiones, incluidos los patrones lógicos: nuevas palabras clave and, ory not.

  • instrucciones de nivel superior: como medio para acelerar la adopción y el aprendizaje de C#, se puede omitir el método Main y una aplicación tan sencilla como el ejemplo siguiente es válida:

    System.Console.Write("Hello world!");
    
  • Punteros de función: construcciones de lenguaje que exponen los siguientes códigos de operación de lenguaje intermedio (IL): ldftn y calli.

Para obtener más información sobre las características disponibles de C# 9, consulte Novedades de C# 9.

Generadores de código fuente

Además de algunas de las nuevas características resaltadas de C#, los generadores de código están abriéndose camino en los proyectos de los desarrolladores. Los generadores de código fuente permiten que el código que se ejecute durante la compilación inspeccione el programa y genere archivos adicionales que se compilan junto con el resto del código.

Para obtener más información sobre los generadores de origen, consulte Introducción a los generadores de origen de C# y ejemplos de generadores de origen de C# .

Actualizaciones de F#

F# es el lenguaje de programación funcional de .NET y, con .NET 5, los desarrolladores tienen acceso a F# 5. Una de las nuevas características es cadenas interpoladas, similares a las cadenas interpoladas en C#, e incluso JavaScript.

let name = "David"
let age = 36
let message = $"{name} is {age} years old."

Además de la interpolación de cadenas básica, también está la interpolación con tipo. Con la interpolación tipada, un tipo determinado debe coincidir con el especificador de formato.

let name = "David"
let age = 36
let message = $"%s{name} is %d{age} years old."

Este formato es similar a la función sprintf que da formato a una cadena basada en entradas seguras de tipos.

Para obtener más información, vea Novedades de F# 5.

Actualizaciones de Visual Basic

No hay nuevas características de lenguaje para Visual Basic en .NET 5. Sin embargo, con .NET 5, la compatibilidad con Visual Basic se extiende a:

Descripción parámetro dotnet new
Aplicación de consola console
Biblioteca de clases classlib
Aplicación WPF wpf
Biblioteca de clases de WPF wpflib
Biblioteca de controles personalizados de WPF wpfcustomcontrollib
Biblioteca de control de usuarios de WPF wpfusercontrollib
Aplicación de Windows Forms (WinForms) winforms
Biblioteca de clases de Windows Forms (WinForms) winformslib
Proyecto de prueba unitaria mstest
Proyecto de prueba de NUnit 3 nunit
Elemento de prueba NUnit 3 nunit-test
Proyecto de prueba de xUnit xunit

Para obtener más información sobre las plantillas de proyecto de la CLI de .NET, consulte dotnet new.

Características nuevas de System.Text.Json

Hay nuevas características en y para System.Text.Json:

Consulte también