Control de versiones del SDK de .NET, MSBuild y Visual Studio

El control de versiones del SDK de .NET y cómo se relaciona con Visual Studio y MSBuild puede resultar confuso. MSBuild se instala con Visual Studio, pero también se incluye en el SDK de .NET. El SDK tiene una versión mínima de MSBuild y Visual Studio con la que funciona, y no se cargará en una versión de Visual Studio anterior a esa versión mínima.

Control de versiones

La primera parte de la versión del SDK de NET coincide con la versión de .NET que incluye, en la que se ejecuta y que tiene como destino de manera predeterminada. La banda de características comienza en 1 y aumenta con cada versión secundaria trimestral de Visual Studio. La versión de revisión se incrementa con las actualizaciones de mantenimiento mensuales.

Por ejemplo, la versión 7.0.203 se incluye con .NET 7, es la segunda versión secundaria de Visual Studio desde la versión 7.0.100, y es la tercera revisión desde la versión 7.0.200 publicada.

Ciclo de vida

El período de tiempo de soporte técnico del SDK normalmente coincide con el de la versión de Visual Studio donde está incluido.

Versión del SDK Versión de MSBuild o Visual Studio Fecha de inclusión Ciclo de vida
2.1.5xx 15,9 18 de noviembre 21 de agosto
2.1.8xx 16.2 (sin VS) 19 de julio 21 de agosto
3.1.1xx 16.4 19 de diciembre 21 de octubre
3.1.4xx 16.7 20 de agosto 22 de diciembre
5.0.1xx 16.8 Noviembre de 2020 21 de marzo
5.0.2xx 16,9 21 de marzo Mayo de 2022
5.0.3xx 16.10 21 de mayo 21 de agosto
5.0.4xx 16.11 21 de agosto Mayo de 2022
6.0.1xx 17.0 Noviembre de 2021 24 de noviembre1
6.0.2xx 17.1 Febrero de 2022 Mayo de 2022
6.0.3xx 17.23 Mayo de 2022 23 de octubre
6.0.4xx 17.3 22 de agosto 24 de noviembre2
7.0.1xx 17.4 22 de noviembre Mayo de 20241
7.0.2xx 17.53 23 de febrero 23 de mayo
7.0.3xx 17.6 23 de mayo Mayo de 2024
7.0.4xx 17,7 23 de agosto Mayo de 20242
8.0.1xx 17.8 23 de noviembre TBD
8.0.2xx 17.93 24 de febrero TBD
8.0.3xx 17.10 Mayo de 2024 TBD

Nota

El destino net6.0 solo se admite oficialmente en la versión 17.0 o versiones posteriores de Visual Studio. El destino net7.0 solo se admite oficialmente en la versión 17.4 o versiones posteriores de Visual Studio. El destino net8.0 solo se admite oficialmente en la versión 17.8 o versiones posteriores de Visual Studio.

1 La banda de características del SDK .1xx de .NET se admite durante todo el ciclo de vida de las versiones principales de .NET. Durante el período de soporte extendido, el soporte se limita a correcciones de seguridad y correcciones mínimas de alta prioridad no relacionadas con la seguridad solo para Linux. Para más información sobre el razonamiento de este soporte extendido, veaCompatibilidad con el soporte extendido.

2 Las bandas de características del SDK de .NET .4xx se admiten durante la vida útil del entorno de ejecución coincidente como instalaciones independientes.

3 6.0.300, 7.0.200 y 8.0.200 requieren versiones más recientes de Visual Studio. Para obtener más información, consulte las reglas de soporte técnico.

Ciclo de vida de Visual Studio 2019

Ciclo de vida de Visual Studio 2022

Reglas de destino y compatibilidad

A partir del SDK de .NET 7.0.100 y el SDK de .NET 6.0.300, se ha implementado una directiva con respecto a en qué versiones de MSBuild y Visual Studio se ejecutará una versión determinada del SDK de .NET. La directiva es:

  • Cada nuevo TargetFramework requiere una nueva versión de Visual Studio o una nueva dotnet versión.
  • La primera versión de Visual Studio que admite un nuevo TargetFramework se convierte en un piso para las bandas de características de ese SDK para la superficie de la API de Roslyn, destinos de MSBuild, generadores de origen, analizadores, etc.
  • La primera versión de un nuevo SDK de .NET que admite un nuevo TargetFramework se puede seguir usando con la versión anterior de Visual Studio para permitir durante un trimestre poder migrar herramientas e infraestructura (por ejemplo, acciones y canalizaciones).
SDK Versión de Visual Studio
el SDK se incluye con
Versión mínima de Visual Studio Max TargetFramework en
versión mínima de Visual Studio
Max TargetFramework en dotnet
6.0.100 17.0 16.11 Net5.0 Net6.0
6.0.200 17.1 17.0 Net6.0 Net6.0
6.0.300 17.2 17.0 Net6.0 Net6.0
6.0.400 17.3 17.0 Net6.0 Net6.0
7.0.100 17.4 17.3 Net6.0 Net7.0
7.0.200 17.5 17.4 Net7.0 Net7.0
7.0.300 17.6 17.41 Net7.0 Net7.0
7.0.400 17,7 17.4 Net7.0 Net7.0
8.0.100 17.8 17,7 Net7.0 Net8.0
8.0.200 17.9 17.8 Net8.0 Net8.0
8.0.300 17.10 17.8 Net8.0 Net8.0

Nota

En la tabla se muestra cómo se aplicarán estas reglas de control de versiones en el futuro, a partir del SDK de .NET 7.0.100 y el SDK de .NET 6.0.300. También muestra cómo se habría aplicado la directiva a las versiones enviadas previamente del SDK de .NET, si estuviera en vigor. Sin embargo, los requisitos para las versiones anteriores del SDK no cambian, es decir, la versión mínima requerida de Visual Studio para .NET SDK 6.0.100 o 6.0.200 sigue siendo 16.10.

1 Un cambio importante en la versión 7.0.300 para el desarrollo de Blazor y Razor requiere la versión 17.6 o posterior de Visual Studio. Para obtener más información, consulte el problema 8718 en dotnet/razor.

Para garantizar herramientas coherentes, debe usar dotnet build en lugar de msbuild para compilar la aplicación siempre que sea posible.

Control de versiones preliminares

Las versiones principales del SDK de .NET se publican normalmente unos días después de una versión preliminar de Visual Studio. Aunque puede haber otras combinaciones que funcionen, solo se prueba y se admite oficialmente la versión preliminar más reciente. En la tabla siguiente se muestra con qué versión de Visual Studio se probó cada versión preliminar de .NET antes de su publicación.

Versión preliminar del SDK Versión de Visual Studio
9.0.100, versión preliminar 1 17.10, versión preliminar 1
9.0.100, versión preliminar 2 17.10, versión preliminar 2
9.0.100, versión preliminar 3 17.10, versión preliminar 3

Referencia