Keine A/W-Überprüfung des Suffixes auf anderen Plattformen als Windows
Die .NET-Runtimes fügen kein A
- oder W
-Suffix zu Funktionsexportnamen während der Stichprobenentnahme für P/Invokes auf anderen Plattformen als Windows hinzu.
Eingeführt in Version
5.0
Änderungsbeschreibung
Windows umfasst eine Konvention, laut der ein A
- oder W
-Suffix zu Funktionsnamen des Windows SDKs hinzugefügt werden, die jeweils der Windows-Codeseite und den Unicode-Versionen entsprechen.
In vorherigen Versionen von .NET haben die CoreCLR- und Mono-Runtimes während der Exportermittlung auf allen Plattformen ein A
- oder W
-Suffix zum Exportnamen für P/Invokes hinzugefügt.
In .NET 5 und höheren Versionen wird ein A
- oder W
-Suffix nur unter Windows während der Exportermittlung zum Exportnamen hinzugefügt. Auf UNIX-Plattformen wird das Suffix nicht hinzugefügt. Die Semantik beider Runtimes bleiben auf der Windows-Plattform unverändert.
Grund für die Änderung
Diese Änderung wurde zur Vereinfachung der plattformübergreifenden Überprüfung implementiert. Dabei handelt es sich um einen Mehraufwand, der nicht hätte auftreten sollen, da andere Plattformen als Windows diese Semantik nicht aufweisen.
Empfohlene Maßnahme
Sie können das gewünschte Suffix auf anderen Plattformen als Windows manuell hinzufügen, um diese Änderung zu umgehen. Zum Beispiel:
[DllImport(...)]
extern static void SetWindowTextW();
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