MSBuild unterstützt das Aufrufen von GetType() nicht mehr
MSBuild 17 unterstützt das Aufrufen der Instanzmethode GetType()
in Eigenschaftsfunktionen nicht mehr. Diese Methode ermöglichte unvorhersehbare Codeausführungen während der Auswertung und konnte dazu führen, dass Visual Studio hängt.
Eingeführt in Version
.NET SDK 6.0.100-rc1
Vorheriges Verhalten
GetType()
-Aufrufe in MSBuild-Eigenschaftsfunktionen wurden ausgeführt und führten manchmal zu unvorhersehbaren Verhaltensweisen in Visual Studio.
Neues Verhalten
Wenn Sie ab .NET SDK 6 GetType()
in einer MSBuild-Eigenschaftsfunktion aufrufen, wird während der Projektauswertung der folgende Kompilierzeitfehler angezeigt:
The function „GetType“ on type „System.String“ is not available for execution as an MSBuild property function. (Die Funktion „GetType“ für den Typ „System.String“ ist für die Ausführung als MSBuild-Eigenschaftsfunktion nicht verfügbar.)
Ändern der Kategorie
Diese Änderung kann sich auf die Quellkompatibilität auswirken.
Grund für die Änderung
Diese Funktionalität wurde nicht dokumentiert oder häufig verwendet. Sie führte zu Leistungs- und Zuverlässigkeitsproblemen beim Laden von Projekten, insbesondere in Visual Studio.
Dieses Muster wurde nur im CBT-System verwendet, das als veraltet gilt.
Empfohlene Maßnahme
Ersetzen Sie alle Aufrufe von GetType()
durch alternative MSBuild-Logik.
Betroffene APIs
–
Feedback
https://aka.ms/ContentUserFeedback.
Bald verfügbar: Im Laufe des Jahres 2024 werden wir GitHub-Issues stufenweise als Feedbackmechanismus für Inhalte abbauen und durch ein neues Feedbacksystem ersetzen. Weitere Informationen finden Sie unterFeedback senden und anzeigen für