C#-code in sjablonen die niet worden ondersteund door eerdere versies

Vanaf .NET 6 gebruiken de projectsjablonen die worden verzonden met de .NET SDK de nieuwste C#-taalfuncties. De volgende taalfuncties worden gebruikt in door een sjabloon gegenereerde code of standaard ingeschakeld in het project:

Sommige van de meest recente C#-taalfuncties worden niet ondersteund door eerdere doelframeworks, zodat u mogelijk problemen ondervindt in de volgende scenario's:

  • Wanneer u een .NET 6-sjabloon gebruikt en vervolgens het doelframework wijzigt in een eerdere versie.
  • Wanneer u een .NET 6-sjabloon gebruikt en vervolgens meerdere doelen gebruikt door een eerdere doelframeworkversie toe te voegen.

Geïntroduceerde versie

.NET SDK 6.0.100

Oud gedrag

In eerdere .NET versies kunt u het doelframework wijzigen in een eerdere versie of een extra versie toevoegen zonder dat u de C#-code hoeft te wijzigen die door de projectsjabloon is gemaakt.

Nieuw gedrag

Vanaf .NET 6 moet u, wanneer u een doelframework wijzigt of toevoegt, mogelijk de C#-code wijzigen die door de sjabloon wordt gegenereerd om te voorkomen dat niet-ondersteunde taalfuncties worden gebruikt. Het project wordt niet gebouwd zonder deze wijzigingen. De compilerfouten en -waarschuwingen helpen u meestal bij het wijzigen van de gegenereerde code om deze compatibel te maken met het nieuwe doelframework.

Categorie wijzigen

Deze wijziging is van invloed op de broncompatibiliteit.

Reden voor wijziging

We willen dat de projectsjablonen worden gesynchroniseerd met de nieuwste taalfuncties. Het belangrijkste gebruiksscenario voor het nieuwste framework richt zich op het benutten van de nieuwste taalfeatures van C#.

Als u compilatiefouten en waarschuwingen ondervindt wanneer u een eerdere frameworkversie opnieuw gebruikt, gebruikt u deze informatie om u te begeleiden bij het wijzigen van de gegenereerde code om deze compatibel te maken met het doelframework dat u hebt geselecteerd.

Volg deze suggesties om compilatiefouten te voorkomen tijdens het werken met een ouder framework.

  • Vermijd het wijzigen van het doelframework naar een eerdere versie. Selecteer in plaats daarvan het gewenste doelframework tijdens het maken van het project in Visual Studio of op de opdrachtregel met behulp van dotnet new <templateName> --framework <targetFramework>.
  • Wanneer u een project met meerdere doelen maakt, selecteert u de laagste doelframeworkversie wanneer u het project maakt. Voeg de aanvullende doelomgevingen toe nadat het project is gemaakt.

Betreffende API's

Niet van toepassing.