Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
À compter de .NET 6, les modèles de projet fournis avec le Kit de développement logiciel (SDK) .NET utilisent les dernières fonctionnalités du langage C#. Les fonctionnalités de langage suivantes sont utilisées dans le code généré par modèle ou activées par défaut dans le projet :
- Déclarations de niveau supérieur
- Directives d’utilisation globale
- Espaces de noms limités aux fichiers
- Nouvelles expressions typées cibles
- Types de références admettant des valeurs nulles
- Valeurs de retour de 'Async Main'
Certaines des dernières fonctionnalités du langage C# ne sont pas prises en charge par les frameworks cibles précédents. Vous pouvez donc rencontrer des problèmes dans les scénarios suivants :
- Lorsque vous utilisez un modèle .NET 6, puis remplacez le framework cible par une version précédente.
- Lorsque vous utilisez un modèle .NET 6, puis que vous ciblez plusieurs frameworks en ajoutant une version précédente du framework visé.
Version introduite
.NET SDK 6.0.100
Ancien comportement
Dans les versions .NET précédentes, vous pouvez modifier l’infrastructure cible en version précédente ou ajouter une version supplémentaire sans avoir à modifier le code C# créé par le modèle de projet.
Nouveau comportement
À compter de .NET 6, lorsque vous modifiez ou ajoutez un framework cible, vous devrez peut-être modifier le code C# généré par le modèle pour éviter d’utiliser des fonctionnalités de langage non prises en charge. Le projet ne sera pas généré sans ces changements. Les erreurs et avertissements du compilateur vous guident généralement sur la façon de modifier le code généré pour qu’il soit compatible avec le nouveau framework cible.
Modifier la catégorie
Cette modification affecte la compatibilité de la source.
Raison de la modification
Nous voulons que les modèles de projet soient synchronisés avec les dernières fonctionnalités de langage. Le scénario d’utilisation principal du ciblage de la dernière infrastructure utilise les dernières fonctionnalités du langage C#.
Action recommandée
Si vous rencontrez des erreurs et des avertissements au moment de la compilation lorsque vous reciblez vers une version antérieure de l’infrastructure, utilisez ces informations pour vous guider dans la modification du code généré pour qu’il soit compatible avec le framework cible que vous avez sélectionné.
Pour éviter les erreurs au moment de la compilation lors du ciblage d’une infrastructure plus ancienne, suivez les suggestions suivantes :
- Évitez de remplacer la version cible de .Net Framework par une version précédente. Sélectionnez plutôt l’infrastructure cible souhaitée lors de la création du projet dans Visual Studio ou sur la ligne de commande à l’aide
dotnet new <templateName> --framework <targetFramework>de . - Lors de la création d’un projet multi-cible, sélectionnez la version la plus basse du framework cible lorsque vous créez le projet. Ajoutez les frameworks cibles supplémentaires une fois le projet créé.
API affectées
N/A