Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
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();