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 del lenguaje se usan en el código generado por plantillas o están habilitadas de manera 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 podría 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.

Comportamiento nuevo

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 compilará sin estos cambios. Los errores y advertencias del compilador normalmente le guían sobre cómo cambiar el código generado para que sea compatible con la nueva plataforma de destino.

Cambio de 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 más recientes del lenguaje. 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 redestinar a una versión anterior de la plataforma, use esa información como guía para cambiar el código generado para que sea compatible con la plataforma de destino seleccionada.

Para evitar errores en tiempo de compilación al tener una plataforma anterior como destino, 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 más baja de la plataforma de destino al crear el proyecto. Agregue las plataformas de destino adicionales después de crear el proyecto.

API afectadas

N/D