Compartir a través de


Código de C# en plantillas no admitido por versiones anteriores

A partir de .NET 6, las plantillas de proyecto que se incluyen con el SDK de .NET usan las características más recientes del lenguaje C#. Las siguientes características de lenguaje se usan en código generado por plantillas o habilitadas de forma predeterminada en el proyecto:

Algunas de las características más recientes del lenguaje C# no son compatibles con las plataformas de destino anteriores, por lo que puede experimentar problemas en los escenarios siguientes:

  • Cuando se usa una plantilla de .NET 6 y, a continuación, se cambia la plataforma de destino a una versión anterior.
  • Cuando se usa una plantilla de .NET 6 y, a continuación, varios destinos mediante la adición de una versión anterior de la plataforma de destino.

Versión introducida

SDK de .NET 6.0.100

Comportamiento anterior

En versiones anteriores de .NET, puede cambiar la plataforma de destino a una versión anterior o agregar una versión adicional sin tener que cambiar el código de C# creado por la plantilla de proyecto.

Nuevo comportamiento

A partir de .NET 6, al cambiar o agregar una plataforma de destino, es posible que tenga que cambiar el código de C# generado por la plantilla para evitar el uso de características de lenguaje no admitidas. El proyecto no se construirá sin estos cambios. Los errores y advertencias del compilador suelen guiarle sobre cómo cambiar el código generado para que sea compatible con la nueva plataforma de destino.

Cambiar categoría

Este cambio afecta a la compatibilidad de origen.

Motivo del cambio

Queremos que las plantillas de proyecto se sincronicen con las características de lenguaje más recientes. El escenario de uso principal de la plataforma más reciente como destino usa las características más recientes del lenguaje C#.

Si se producen errores y advertencias en tiempo de compilación al volver a configurar una versión anterior del marco de trabajo, use esa información para guiarle en el cambio del código generado para que sea compatible con el marco de destino seleccionado.

Para evitar errores en tiempo de compilación al tener como destino un marco anterior, siga estas sugerencias:

  • Evite cambiar la plataforma de destino a una versión anterior. En su lugar, seleccione la plataforma de destino que desee durante la creación del proyecto en Visual Studio o en la línea de comandos mediante dotnet new <templateName> --framework <targetFramework>.
  • Al crear un proyecto de varios destinos, seleccione la versión de la plataforma de destino más baja al crear el proyecto. Agregue las plataformas de destino adicionales después de crear el proyecto.

Las APIs afectadas

No disponible