BookinglyTech News
Software

Microsoft publica .NET 11 RC1 con licencia go-live, C# 15 y F# 11 por defecto

La primera candidata del ciclo llega con permiso para producción, soporte en Visual Studio 2026 Insiders y VS Code, y los dos lenguajes ya en su versión definitiva.

2 min de lecturaInfoQ0 vistas

Microsoft ha publicado .NET 11 RC1, la primera candidata del ciclo, con licencia go-live para poder desplegarla en producción. Llega soportada en Visual Studio 2026 Insiders y en Visual Studio Code con el C# Dev Kit, y con ella C# 15 y F# 11 pasan a ser las versiones de lenguaje por defecto en los proyectos que apunten a .NET 11.

C# 15 estabiliza los union types

La versión cierra lo que se fue añadiendo en los previews: argumentos de expresiones de colección, union types, miembros estáticos no virtuales de interfaz, jerarquías de clase cerradas, break y continue etiquetados e indexadores de extensión. Según las notas de la versión de C#, los union types ya no piden el flag de preview, Roslyn usa los nombres definitivos de CSharp15 y una API nueva expone sus casos a los analizadores. Unsafe Evolution sigue en preview con su propio flag, aunque RC1 admite await dentro de un contexto unsafe.

En F# 11, cuyas notas también están publicadas, se estabilizan los record spreads y la construcción directa de delegados. El cambio de fondo está en la interpolación de cadenas, que ahora compila a String.Concat en vez del motor printf basado en reflexión, así que funciona con trimming y Native AOT. También hay ToString sin reflexión para records y uniones y una función nueva, Async.RunSynchronouslyImmediate.

dotnet test sale del escritorio

dotnet test ya ejecuta proyectos de test para Android, iOS, macOS y Mac Catalyst, con plantillas para cada destino, y estrena opciones para fijar un timeout, parar tras cierto número de fallos y dar a cada aplicación de test su directorio de resultados. En contenedores, fijar SOURCE_DATE_EPOCH produce el mismo digest entre compilaciones y se evita subir la imagen si el manifiesto ya está en el registro.

ASP.NET Core finaliza las API de refresco de autenticación de SignalR en servidor y cliente .NET, y las extiende al cliente TypeScript; los circuitos de Blazor Server recogen la identidad renovada sin reconectar. OpenAPI marca operaciones, tipos y propiedades obsoletos como deprecated. El paquete de Device Bound Session Credentials seguirá en prerelease todo el ciclo. MAUI añade badges en TabbedPage, colores explícitos en SwipeItem y builds de Android más rápidas y pequeñas.

La reacción en Reddit fue práctica: varios desarrolladores contaron que migrar un código existente les llevó poco más que instalar el SDK y tocar algún archivo de proyecto, y uno dijo que la licencia go-live bastaba para llevar contenedores a producción. Otro dejó el canal de soporte a largo plazo por las jerarquías de clase cerradas. La crítica se centró en los union types, que no hacen round-trip por System.Text.Json porque la salida serializada no lleva discriminador de tipo. Jon Galloway, del equipo de .NET, respondió en el hilo que las notas listan cambios desde el preview anterior, no desde .NET 10.

También entran soporte de programas basados en archivo en dotnet format, channel binding TLS para autenticación Negotiate y los nombres definitivos de las opciones de navegador de Blazor.