MSBuild ne prend plus en charge l’appel de GetType()
MSBuild 17 ne prend plus en charge l’appel de la méthode d’instance GetType()
dans les fonctions de propriété. Cette méthode a permis une exécution de code imprévisible pendant l’évaluation et peut provoquer des blocages de Visual Studio.
Version introduite
Kit de développement logiciel (SDK) .NET 6.0.100-rc1
Comportement précédent
Les appels GetType()
dans les fonctions de propriété MSBuild s’exécutent et entraînent parfois un comportement imprévisible dans Visual Studio.
Nouveau comportement
À compter du Kit de développement logiciel (SDK) .NET 6, si vous appelez GetType()
une fonction de propriété MSBuild, vous verrez l’erreur de compilation suivante lors de l’évaluation du projet :
La fonction « GetType » sur le type « System.String » n’est pas disponible pour l’exécution en tant que fonction de propriété MSBuild.
Modifier la catégorie
Ce changement affecte la compatibilité de la source.
Raison du changement
Cette fonctionnalité n’a pas été documentée ou couramment utilisée. Cela a provoqué des problèmes de performances et de fiabilité lors du chargement du projet, en particulier dans Visual Studio.
La seule utilisation courante connue de ce modèle était dans le système CBT, qui a été déconseillé.
Action recommandée
Remplacez tous les appels à GetType()
par une autre logique MSBuild.
API affectées
N/A
Commentaires
https://aka.ms/ContentUserFeedback.
Bientôt disponible : Tout au long de 2024, nous allons supprimer progressivement GitHub Issues comme mécanisme de commentaires pour le contenu et le remplacer par un nouveau système de commentaires. Pour plus d’informations, consultezEnvoyer et afficher des commentaires pour