.NET 11 trae las uniones de C# 15; termina el soporte de .NET 8 y 9
.NET 11 y C# 15 salieron el 10 de noviembre, el día en que terminó el soporte de .NET 8 y 9. En una prueba práctica, un caso de unión olvidado solo dio un aviso y luego un fallo.
Por Claire Whitmore
5 min de lectura
Traducido automáticamente del original en inglés, que Claire Whitmore verificó y editó. Prevalece la versión en inglés. Cómo trabajamos

En cifras
- fin del soporte de .NET 8 y .NET 9
- 10 nov. 2026
- fin del soporte de .NET 10 y .NET 11
- 14 nov. 2028
- de soporte para .NET 11, una versión Standard Term Support
- 2 años
Microsoft lanzó .NET 11 el 10 de noviembre de 2026, con C# 15 y sus nuevos tipos unión. Ese mismo día, .NET 8 y .NET 9 llegaron al final de su soporte, según la página de política de soporte de Microsoft. El .NET de Microsoft es una plataforma gratuita y de código abierto para crear aplicaciones, y C# es su lenguaje principal. Las aplicaciones que aún funcionan con .NET 8 o 9 ya no reciben correcciones de seguridad de Microsoft.
El anuncio en el .NET Blog llegó el primer día de la .NET Conf 2026, que se celebra del 10 al 13 de noviembre. Thurrott.com señala que .NET 11 es una versión Standard Term Support (STS), con dos años de soporte. Las versiones Long Term Support (LTS) como .NET 10 reciben tres años.
Qué incluyen .NET 11 y C# 15
Lo principal es el lenguaje. C# 15 es el predeterminado en cualquier proyecto que apunte a .NET 11, así que no hace falta ningún ajuste extra. La página "Novedades de C# 15" de Microsoft enumera estas funciones:
| Función | Qué hace | Necesita un indicador de versión preliminar |
|---|---|---|
| Tipos unión | Un tipo que contiene exactamente uno de una lista fija de tipos | No |
| Jerarquías cerradas | Una clase base cuyas subclases conoce por completo el compilador | No |
| Argumentos de expresiones de colección | Pasar ajustes del constructor, como una capacidad, dentro de [...] | No |
| Indexadores de extensión | Añadir acceso [index] a un tipo que no es tuyo | No |
break y continue con etiqueta | Salir de un bucle exterior desde uno interior | No |
| Miembros estáticos de interfaz en runtimes antiguos | Métodos estáticos simples en interfaces, sin apoyo de runtimes nuevos | No |
| Reglas de seguridad de memoria | Nuevas reglas para el código inseguro con punteros | Sí |
Una unión es útil cuando un valor puede tener una de varias formas, por ejemplo un pago con tarjeta, por transferencia o con un vale. El compilador comprueba entonces que el código trate cada forma.
El resto de la versión son herramientas y bibliotecas. El .NET Blog menciona un host nativo de línea de comandos y un servidor MSBuild que se mantiene activo para compilar más rápido. También menciona OpenAPI 3.2 en ASP.NET Core y piezas de IA con MCP, el Model Context Protocol que conecta modelos de IA con herramientas. El framework de aplicaciones para móviles y escritorio, .NET MAUI, funciona ahora con CoreCLR por defecto. Microsoft habla de "cientos de optimizaciones del runtime", pero no da cifras en el anuncio.
Qué versiones de .NET siguen con soporte
La tabla procede de la página de política de soporte de Microsoft, actualizada el 10 de noviembre de 2026. Según esa página, las versiones pares son LTS y las impares STS.
| Versión | Tipo | Lanzamiento | Último parche | Fin del soporte |
|---|---|---|---|---|
| .NET 11 | STS | 10 de noviembre de 2026 | 11.0.0 | 14 de noviembre de 2028 |
| .NET 10 | LTS | 11 de noviembre de 2025 | 10.0.15 | 14 de noviembre de 2028 |
| .NET 9 | STS | 12 de noviembre de 2024 | 9.0.23 | 10 de noviembre de 2026 |
| .NET 8 | LTS | 14 de noviembre de 2023 | 8.0.34 | 10 de noviembre de 2026 |
Hay un detalle que destaca. Tanto .NET 11 como .NET 10 pierden el soporte el mismo día, el 14 de noviembre de 2028. Elegir la versión STS ya no implica una vida más corta que la LTS. La política de Microsoft también dice que solo el último parche de cada versión tiene soporte. Los últimos seis meses de cada versión solo reciben correcciones de seguridad.
Prueba de Tech AI Wire: uniones de C# 15 en el SDK de .NET 11
En una prueba de Tech AI Wire en macOS 26, la imagen de contenedor oficial mcr.microsoft.com/dotnet/sdk:11.0 (Ubuntu 26.04.1, arm64) indicó el SDK 11.0.100. Un proyecto de consola nuevo apuntaba a net11.0, sin ajuste de lenguaje. Los ejemplos de C# 15 de Microsoft compilaron y se ejecutaron tal como están escritos, con una pequeña cuadrícula añadida para el break con etiqueta:
Pet pet = new Dog("Rex");
string name = pet switch
{
Dog d => d.Name,
Cat c => c.Name,
Bird b => b.Name,
};
public union Pet(Cat, Dog, Bird);
La primera ejecución de dotnet run, compilación incluida, tardó 2,6 segundos. Las demás funciones también funcionaron. Un HashSet creado con un comparador que no distingue mayúsculas conservó solo uno de "Hello", "HELLO" y "hello". Un break con etiqueta salió de los dos bucles a la vez.
Después, la prueba borró la línea de Bird del switch. La compilación aun así tuvo éxito. Mostró el aviso CS8509: "The switch expression does not handle all possible values of its input type (it is not exhaustive). For example, the pattern 'Bird' is not covered." Es decir, la expresión switch no cubre todos los valores de su tipo de entrada, por ejemplo 'Bird'. Cuando el programa recibió después un Bird, falló con una SwitchExpressionException y el código de salida 134.
El arreglo fue un solo ajuste. Con -p:WarningsAsErrors=CS8509, la misma compilación falló con el error CS8509 y el código de salida 1. La comprobación de seguridad existe, pero por defecto es solo un aviso.
Qué significa para los desarrolladores
Esta semana hay dos asuntos que atender: las versiones antiguas y los hábitos nuevos.
- Deja .NET 8 y .NET 9. Ninguna recibe parches desde el 10 de noviembre. Las últimas versiones que lista Microsoft son 8.0.34 y 9.0.23. Cualquier fallo de seguridad que se descubra a partir de ahora quedará abierto en ellas.
- Elige entre 10 y 11 por funciones, no por duración del soporte. Ambas tienen soporte hasta el 14 de noviembre de 2028. .NET 11 te da C# 15; para un equipo en .NET 8, .NET 10 es el salto más corto.
- Convierte CS8509 en un error antes de usar uniones. Añade
<WarningsAsErrors>CS8509</WarningsAsErrors>al archivo de proyecto, el mismo ajuste que hizo fallar la compilación de la prueba. Sin él, un caso nuevo añadido a una unión puede compilar sin problemas y fallar solo en producción. - Deja de lado por ahora las reglas de seguridad de memoria. Todavía necesitan un indicador de versión preliminar, así que pueden cambiar antes de una versión futura.
- Actualiza las compilaciones con contenedores. En la prueba, la etiqueta
sdk:11.0descargó el SDK 11.0.100. Fija la imagen por su digest en tus Dockerfiles, para que cada compilación use el SDK que probaste.
Los equipos en .NET 10 no tienen plazo. Pueden probar C# 15 en una rama y migrar cuando las bibliotecas de las que dependen admitan .NET 11.
Fuentes
- Announcing .NET 11 - .NET Blog
- .NET and .NET Core Support Policy - Microsoft
- What's new in C# 15 - Microsoft Learn
- Microsoft Releases .NET 11 - Thurrott.com
Artículos relacionados
C++26 no supera la votación ISO por los Contracts, probado en GCC 16
C++26 no superó su votación ISO por los Contracts. Una prueba de Tech AI Wire ejecutó los cuatro modos en GCC 16.2, y uno mostró 0 para 10 / 0 sin ningún aviso.

El JIT de CPython se eliminará tras la retirada de la PEP 836
Los autores de la PEP 836 la retiraron el 19 de octubre de 2026, así que ahora se espera que el compilador JIT experimental de CPython se elimine de la rama main.

TypeScript 7.1 Beta añade una nueva API y mapeadores de contenido
TypeScript 7.1 Beta recupera una API programática para las herramientas atascadas en la 6.0, añade mapeadores de contenido para archivos .vue y comprueba tipos hasta 1,9 veces más rápido que la 7.0.