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 bei der Suche nach P/Invokes auf Nicht-Windows-Plattformen keine A- oder W-Suffixe mehr zu Funktionsexportnamen hinzu.
Eingeführte Version
5.0
Änderungsbeschreibung
Windows hat eine Konvention, einen A oder W Suffix zu Windows SDK-Funktionsnamen hinzuzufügen, die jeweils der Windows-Codeseite- und Unicode-Version entsprechen.
In vorherigen Versionen von .NET haben die CoreCLR- und Mono-Runtimes während der Exportermittlung A ein W- oder -Suffix zum Exportnamen für P/Invokes hinzugefügt.
In .NET 5 und höheren Versionen wird dem Exportnamen während der Exportermittlung ein A oder W Suffix nur unter Windows hinzugefügt. Auf Unix-Plattformen wird das Suffix nicht hinzugefügt. Die Semantik beider Laufzeiten auf der Windows-Plattform bleibt unverändert.
Grund für Änderung
Diese Änderung wurde vorgenommen, um plattformübergreifendes Probing zu vereinfachen. Der Aufwand sollte nicht entstehen, da Nicht-Windows-Plattformen diese Semantik nicht enthalten.
Empfohlene Aktion
Um die Änderung zu mindern, können Sie das gewünschte Suffix manuell auf Nicht-Windows-Plattformen hinzufügen. Beispiel:
[DllImport(...)]
extern static void SetWindowTextW();