Versiones y compatibilidad con .NET
Microsoft incluye versiones principales, versiones secundarias y actualizaciones de mantenimiento (revisiones) para .NET. En este artículo se explican los tipos de versión, las actualizaciones de mantenimiento, las bandas de características de SDK, y los períodos y opciones de compatibilidad.
Nota:
Para obtener información sobre el control de versiones y la compatibilidad con .NET Framework, consulte Ciclo de vida de .NET Framework.
Tipos de versión
La información sobre el tipo de cada versión está codificado en el número de versión con el formato principal.secundaria.revisión.
Por ejemplo:
- .NET 6 y NET 7 son versiones principales.
- .NET Core 3.1 es la primera versión secundaria después de la versión principal de .NET Core 3.0.
- .NET Core 5.0.15 es la decimoquinta revisión de .NET 5.
Para obtener una lista de las versiones publicadas de .NET e información sobre la frecuencia con la que se incluye .NET, consulte la directiva de soporte técnico.
Versiones principales:
Las versiones principales incluyen nuevas características, una nueva área expuesta de API pública y correcciones de errores. Algunos ejemplos son .NET 6 y .NET 7. Debido a la naturaleza de los cambios, se espera que se realicen cambios importantes en estas versiones. Las versiones principales se instalan en paralelo con las versiones principales anteriores.
Versiones secundarias
Las versiones secundarias también incluyen nuevas características, un área expuesta de API pública y correcciones de errores, y también pueden tener cambios importantes. Un ejemplo es .NET Core 3.1. La diferencia entre estas y versiones principales es que la magnitud de los cambios es menor. El avance que realiza una aplicación que se actualiza desde .NET Core 3.0 a 3.1 es menor. Las versiones secundarias se instalan en paralelo con las versiones secundarias anteriores.
Actualizaciones de mantenimiento
Las actualizaciones de mantenimiento (revisiones) se envían casi todos los meses y estas actualizaciones llevan a cabo tanto correcciones de errores que son de seguridad como que no. Por ejemplo, .NET Core 5.0.8 era la octava actualización de .NET 5. Cuando estas actualizaciones incluyen correcciones de seguridad, se publican en un "Patch Tuesday", que siempre es el segundo martes del mes. Se espera que las actualizaciones de servicio mantengan la compatibilidad. A partir de .NET Core 3.1, las actualizaciones de mantenimiento son actualizaciones que quitan la actualización anterior. Por ejemplo, la actualización de servicio más reciente de 3.1 quita la actualización de 3.1 anterior tras una instalación correcta.
Bandas de características (solo SDK)
El control de versiones del SDK de .NET funciona de forma ligeramente diferente del entorno de ejecución de .NET. Para alinearse con las nuevas versiones de Visual Studio, las actualizaciones del SDK de .NET a veces incluyen nuevas características o nuevas versiones de componentes como MSBuild y NuGet. Estas nuevas características o componentes pueden no ser compatibles con las versiones incluidas en las actualizaciones anteriores del SDK para la misma versión principal o secundaria.
Para diferenciar estas actualizaciones, el SDK de .NET usa el concepto de bandas de características. Por ejemplo, el primer SDK de .NET 5 era 5.0.100. Esta versión corresponde a la banda de características 5.0.1 XX. Las bandas de características se definen en los grupos de centenas de la tercera sección del número de versión. Por ejemplo, 5.0.101 y 5.0.201 son versiones de dos bandas de características distintas, mientras que 5.0.101 y 5.0.199 están en la misma banda de características. Cuando se instale el SDK 5.0.101 de .NET, se quitará el SDK 5.1.100 de .NET de la máquina, si existe. Cuando se instale el SDK 5.0.200 de .NET en la misma máquina, no se quitará el SDK 5.0.101 de .NET.
Para obtener más información sobre la relación entre el SDK de .NET y las versiones de Visual Studio, consulte SDK de .NET, MSBuild y control de versiones de Visual Studio.
Puesta al día y compatibilidad del entorno de ejecución
Las actualizaciones principales y secundarias se instalan en paralelo con las versiones anteriores. Una aplicación que esté compilada para tener como destino una versión principal.secundaria específica sigue usando ese entorno de ejecución de destino, incluso si se instala una versión más reciente. La aplicación no se pone al día automáticamente para usar una versión más reciente de la versión principal.secundaria del entorno de ejecución, a menos que elija este comportamiento. Una aplicación que se compiló para tener como destino .NET Core 3.0 no empieza a ejecutarse automáticamente en .NET Core 3.1. Se recomienda recompilar la aplicación y realizar pruebas en una versión del entorno de ejecución principal o secundaria más reciente antes de implementarla en producción. Para obtener más información, vea Puesta al día de las aplicaciones dependientes de la plataforma y Puesta al día del entorno de ejecución de implementación autocontenida.
Las actualizaciones de mantenimiento se tratan de forma diferente a las versiones principales y secundarias. Una aplicación creada para usar .NET 7 se ejecuta de forma predeterminada en el runtime de la versión 7.0.0. Se pone al día automáticamente para usar un entorno de ejecución en versión 7.0.1 más reciente cuando se instala esa actualización de mantenimiento. Este comportamiento es el predeterminado porque queremos que las correcciones de seguridad se usen en cuanto se instalen sin necesidad de realizar ninguna otra acción. Puede cambiar este comportamiento de puesta al día predeterminado.
Ciclos de vida de las versiones de .NET
Las versiones posteriores de .NET adoptan el ciclo de vida moderno en lugar del ciclo de vida fijo que se ha usado para las versiones .NET Framework. Los productos que adoptan un ciclo de vida moderno tienen un modelo de soporte técnico más similar al servicio, con períodos de soporte técnico más cortos y versiones más frecuentes.
Seguimiento de las versiones
Hay dos pistas de soporte técnico de las versiones:
Versiones de Soporte técnico a corto plazo (STS)
Estas versiones tienen soporte técnico hasta 6 meses después de que se lance la siguiente versión principal o secundaria.
Ejemplo:
- .NET 5 es una versión de STS y se publicó en noviembre de 2020. Tuvo soporte técnico durante 18 meses, hasta mayo de 2022.
- .NET 7 es una versión de STS y se publicó en noviembre de 2022. Tiene soporte técnico durante 18 meses, hasta mayo de 2024.
Versiones de soporte técnico a largo plazo (LTS)
Estas versiones tienen soporte técnico durante un mínimo de 3 años, o un año después de que se lance la siguiente versión de LTS, si esa fecha es posterior.
Ejemplo:
- .NET Core 3.1 es una versión de LTS que se lanzó en diciembre de 2019. Su soporte técnico duró tres años, hasta diciembre de 2022.
- .NET 6 es una versión de LTS y se publicó en noviembre de 2021. Su soporte técnico dura tres años, hasta noviembre de 2024.
Las versiones alternan entre STS y LTS, por lo que es posible que una versión anterior tenga soporte técnico durante más tiempo que una versión posterior. Por ejemplo, .NET Core 3.1 fue una versión de LTS cuyo soporte técnico duró hasta diciembre de 2022. La versión de .NET 5 se comercializó casi un año más tarde, pero su soporte técnico terminó antes, en mayo de 2022.
Las actualizaciones de mantenimiento se envían mensualmente e incluyen tanto correcciones de seguridad como que no son de seguridad (confiabilidad, compatibilidad y estabilidad). Las actualizaciones de mantenimiento se admiten hasta que se lance la siguiente actualización de servicio. Las actualizaciones de mantenimiento tienen un comportamiento de puesta al día del entorno de ejecución. Esto significa que las aplicaciones se ejecutan de forma predeterminada en la actualización de servicio de entorno de ejecución instalada más reciente.
Cómo elegir una versión
Si va a compilar un servicio y espera seguir actualizándolos periódicamente, una versión de STS como el runtime de .NET 7 puede ser la mejor opción para mantenerse al día con las características más recientes que ofrece .NET.
Si va a compilar una aplicación cliente que se distribuirá a los consumidores, es posible que la estabilidad sea más importante que el acceso a las características más recientes. Es posible que la aplicación necesite tener soporte técnico durante un período determinado antes de que el consumidor pueda actualizar a la versión siguiente de la aplicación. En ese caso, una versión de LTS como el runtime de .NET 6 podría ser la opción correcta.
Nota:
Se recomienda actualizar a la versión más reciente del SDK, incluso si se trata de una versión de STS, ya que puede tener como destino todos los entornos de ejecución disponibles.
Compatibilidad con actualizaciones de mantenimiento
Las actualizaciones de mantenimiento de .NET hasta se admiten hasta que se lance la siguiente actualización de servicio. El ritmo de lanzamiento es mensual.
Debe instalar periódicamente las actualizaciones de mantenimiento para asegurarse de que las aplicaciones están en un estado seguro y con soporte técnico. Por ejemplo, si la actualización de mantenimiento más reciente de .NET 7 es la 7.0.8 y se lanza la 7.0.9, la 7.0.8 deja de ser la más reciente. El nivel de mantenimiento de soporte técnico para .NET 7 es 7.0.9.
Para obtener información sobre las actualizaciones de servicio más recientes para cada versión principal y secundaria, consulte la página de descargas de .NET.
Finalización del soporte técnico
La finalización del soporte técnico se refiere a la fecha a partir de la cual Microsoft ya no proporciona correcciones, actualizaciones o asistencia técnica para una versión del producto. Antes de esta fecha, asegúrese de que ha pasado a usar una versión con soporte técnico. Las versiones que no tienen soporte técnico ya no reciben actualizaciones de seguridad que protejan sus aplicaciones y sus datos. Para ver los intervalos de fechas admitidos para cada versión de .NET, consulte la directiva de soporte técnico.
Sistemas operativos admitidos
.NET se puede ejecutar en una gama de sistemas operativos. Cada uno de estos sistemas operativos tiene un ciclo de vida definido por su organización patrocinadora (por ejemplo, Microsoft, Red Hat o Apple). Estas programaciones de ciclo de vida se tienen en cuenta al agregar y quitar el soporte técnico a las versiones de sistema operativo.
Cuando una versión de sistema operativo deja de tener soporte técnico, se deja de probar esa versión y de proporcionar soporte técnico para ella. Los usuarios deben avanzar a una versión del sistema operativo con soporte técnico para obtener asistencia.
Para obtener más información, consulte la directiva de ciclo de vida del sistema operativo de .NET Core.
Obtener soporte técnico
Puede elegir entre soporte técnico asistido de Microsoft y soporte técnico de la comunidad.
Soporte técnico de Microsoft
Para obtener soporte técnico asistido, póngase en contacto con un profesional de soporte técnico de Microsoft.
Debe estar en un nivel de servicio compatible (la actualización de servicio disponible más reciente) para poder optar al soporte técnico. Si un sistema ejecuta .NET 7 y se ha lanzado la actualización de mantenimiento 7.0.8, el primer paso que debe dar es instalar la 7.0.8.
Soporte técnico de la comunidad
Para obtener soporte técnico de la comunidad, vea la página de la comunidad.