Presentación de .NET 5 Preview 1

A fines del año pasado, lanzamos .NET Core 3.0 y 3.1. En estas versiones, se han agregado Windows Forms (WinForms) y WPF, modelos de aplicaciones de escritorio ASP.NET Blazor para crear aplicaciones de una sola página y gRPC para mensajería multiplataforma basada en contratos. También agregamos plantillas para crear servicios, generación de código de cliente para comunicarse con gRPC, servicios API REST y mucho más. Nos complace que .NET Core 3 se haya convertido en la versión de .NET más rápidamente aceptada, y en el último año tenemos otro millón de usuarios.

También trabajamos en estas versiones para completar la migración de los modelos de aplicación de .NET Framework. En .NET Core 3, migramos todos los modelos de aplicaciones más utilizados e introdujimos nuevas infraestructuras multiplataforma en lugar de las que no fueron portadas.

En previsión de la próxima versión principal de .NET 5, continuaremos integrando .NET en una sola plataforma al incluir nuestro modelo de aplicación móvil .NET (Xamarin) en .NET 5. .NET 5 incluirá ASP.NET Core, Entity Framework Core, WinForms, WPF, Xamarin y ML.NET. Por primera vez, toda la plataforma utilizará un BCL unificado (biblioteca de clase base) para todos los modelos de aplicación. La presencia de la versión 5, que es superior a la de .NET Core y .NET Framework, también deja en claro que .NET 5 es el futuro de .NET, una única plataforma unificada para crear cualquier tipo de aplicación.

Lo hemos dicho muchas veces, pero lo repetiremos nuevamente; .NET Core, y luego .NET 5, es .NET, con el cual debes crear todas tus nuevas aplicaciones. .NET Framework será compatible siempre que Windows sea compatible. Continuaremos brindando seguridad y corrigiendo errores, así como también actualizaremos la red y las API de cifrado. Permanecerá seguro y admitido para ejecutar sus aplicaciones más antiguas en .NET Framework.



Instalar .NET 5.0 Preview 1


Hoy estamos lanzando la primera Vista previa .NET 5, cuya versión completa está programada para fines de este año en noviembre.


Lea las actualizaciones de ASP.NET Core en .NET 5 Preview 1 para conocer la versión de hoy de ASP.NET Core.

La vista previa 1 incluye soporte para Windows ARM64 por primera vez. La versión de hoy también incluye tiempo de ejecución .NET Core. Esperamos que se agregue el SDK (núcleo ASP.NET, pero no WPF o Windows Forms) en la Vista previa 2. Las previsualizaciones posteriores incluirán WPF y Windows Forms. La compatibilidad con Windows ARM64 también se transferirá a .NET Core 3.1. Compartiremos más detalles sobre esto en una publicación sobre Vista previa 2.

Actualización de proyectos existentes


Puede actualizar proyectos existentes actualizando la plataforma de destino de la siguiente manera:

<TargetFramework>netcoreapp5.0</TargetFramework>

Principales objetivos .NET 5


  • Experiencia de .NET SDK unificada:
    • BCL ( ) .NET 5. Xamarin Mono BCL, .NET Core BCL, .
    • (Xamarin) .NET 5. , .NET SDK mobile. , «dotnet new XamarinForms» .
  • , : « », , , Window Desktop, Microsoft Duo (Android) iOS, , .
  • Aplicaciones web que admiten múltiples plataformas: un proyecto Blazor que admite una aplicación que puede ejecutarse en navegadores, dispositivos móviles y como una aplicación de escritorio nativa (por ejemplo, Windows 10x).
  • Aplicaciones nativas en la nube: microservicios de alto rendimiento con un solo archivo (.exe) <50 MB y soporte para la creación de varios proyectos (API, interfaces web, contenedores) tanto localmente como en la nube.
  • Mejoras continuas, tales como: aceleración de algoritmos en BCL, mejoras en el soporte de contenedores en tiempo de ejecución, soporte para HTTP3.

La vista previa 1 aún no contiene los resultados de todos estos objetivos, pero continuaremos anunciando más funciones en futuras vistas previas.

Mejoras en la vista previa 1


Las siguientes mejoras en la Vista previa 1:

Mejoras en el rendimiento de expresiones regulares


Hemos invertido mucho en el motor Regex. En muchas de las expresiones que probamos, estas mejoras generalmente conducen a una productividad 3-6 veces mayor y, en algunos casos, mucho más. Pronto tendremos una publicación de blog en la que se describirán estas mejoras con más detalle.

Mejora de la calidad del código en RyuJIT


Cada versión incluye un conjunto de mejoras de rendimiento para el código que genera JIT. Llamamos a este tipo de mejora "CQ" o calidad de código. En la mayoría de los casos, estas mejoras también se aplican al código creado para imágenes listas para ejecutarse.


event pipe


Hemos agregado información sobre cómo cargar el ensamblaje en la tubería de eventos. Esta mejora es el comienzo de la disponibilidad de características de diagnóstico similares que forman parte de .NET Framework con  Fusion Log Viewer . Ahora puede usar  dotnet-trace  para recopilar esta información con el siguiente comando:

dotnet-trace collect --providers Microsoft-Windows-DotNETRuntime:4:4 --process-id [process ID]

El flujo de trabajo se describe en la sección Carga de ensamblaje de seguimiento con canalización de eventos . Puede ver la información de carga del ensamblaje para una aplicación de prueba simple.



API de creación de perfiles de eventos (Event Pipe)


Event Pipe es un nuevo subsistema y API que agregamos a .NET Core 2.2 para que sea posible ejecutar diagnósticos de rendimiento y otros en cualquier sistema operativo. En .NET 5.0, Event Pipe se ha ampliado para que los perfiladores puedan registrar eventos de Event Pipe. Este escenario es importante para las herramientas de perfil que anteriormente usaban ETW para monitorear el comportamiento y el rendimiento de la aplicación.

Consolidación del repositorio de GitHub


Como parte de la versión .NET 5, hemos  reducido la cantidad de repositorios en GitHub que se usaron para crear y empaquetar .NET. Los límites del repositorio tienen un impacto significativo en muchos aspectos de un proyecto, incluido el ensamblaje y la gestión de problemas. Con .NET Core 1.0, teníamos más de 100 repositorios en ASP.NET, EF y .NET Core. Ahora todo ha cambiado. También migramos casi todos los repositorios a dotnet org.

Consulte los nuevos repositorios consolidados:


All Articles