.NET 5 es la próxima versión principal de .NET Core, que sigue a la 3.1. Esta versión nueva se denomina .NET 5 en lugar de .NET Core 4 por dos motivos:
Hemos omitido los números de versión 4.x para evitar confusiones con .NET Framework 4.x.
Hemos eliminado "Core" del nombre para resaltar que esta es 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 la confusión con ASP.NET MVC 5. Del mismo modo, Entity Framework Core 5.0 conserva el nombre "Core" para evitar la confusión con Entity Framework 5 y 6.
.NET 5 incluye las mejoras siguientes y características nuevas en comparación con .NET Core 3.1:
.NET 5 y versiones posteriores son la implementación principal de .NET en el futuro, pero .NET Framework 4.x sigue siendo compatible. No hay ningún plan para migrar las siguientes tecnologías de .NET Framework a .NET 5, pero hay alternativas en .NET:
La implementación original de Windows Communication Foundation (WCF) solo se admitía en Windows. Pero hay un puerto de cliente disponible en .NET Foundation. Es de código abierto, multiplataforma y compatible con Microsoft en su totalidad. Los paquetes NuGet principales se muestran a continuación:
Los componentes de servidor que complementan las bibliotecas de cliente mencionadas anteriormente están disponibles mediante CoreWCF. A partir de abril de 2022, Microsoft admite CoreWCF oficialmente. Como alternativa a WCF, puede usar gRPC.
.NET 5 no reemplaza a .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 TFM netcoreapp y netstandard. Pero si tiene previsto compartir código entre cargas de trabajo de .NET Framework, .NET Core y .NET 5, puede hacerlo especificando netstandard2.0 como TFM. Para 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 está emparejado con C# 9, 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 capacidades de coincidencia de patrones a los operadores relacionales para las evaluaciones comparativas y expresiones, incluidos los patrones lógicos: nuevas palabras clave and, or y 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 la 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, vea Novedades de C# 9.
Generadores de origen
Además de algunas de las nuevas características de C# resaltadas, los generadores de origen se están incorporando a los proyectos de desarrolladores. Los generadores de origen permiten que el código que se ejecuta durante la compilación inspeccione el programa y produzca archivos adicionales que se compilan junto con el resto del código.
F# es el lenguaje de programación funcional de .NET y, con .NET 5, los desarrolladores tienen acceso a F# 5. Una de las características nuevas son las cadenas interpoladas, que son similares a las cadenas interpoladas en C# e incluso en 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. Gracias a la interpolación con tipo, 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 aplica formato a una cadena basada en entradas con seguridad de tipos.
El origen de este contenido se puede encontrar en GitHub, donde también puede crear y revisar problemas y solicitudes de incorporación de cambios. Para más información, consulte nuestra guía para colaboradores.
Comentarios de .NET
.NET es un proyecto de código abierto. Seleccione un vínculo para proporcionar comentarios:
.NET es una plataforma de desarrollador de código abierto gratuita y multiplataforma para crear muchos tipos diferentes de aplicaciones. Con .NET, puede usar varios lenguajes, editores y bibliotecas para crear juegos y aplicaciones para la Web, dispositivos móviles y de escritorio, y el Internet de las cosas (IoT).