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.
Ab .NET 11 wendet NativeAOT das Präfix lib (z. B. libmylib.so, libmylib.dylib, libmylib.a) standardmäßig auf nicht ausführbare systemeigene Bibliotheksausgaben auf Unix-Plattformen an. Mit einer neuen MSBuild-Eigenschaft UseNativeLibPrefixkönnen Sie dieses Verhalten deaktivieren.
Eingeführt in Version
.NET 11 Vorschau 3
Bisheriges Verhalten
Zuvor hat NativeAOT das lib Präfix nicht auf systemeigene Bibliotheksausgaben auf Unix angewendet. Beispiel:
- Eine Ausgabe der gemeinsamen Bibliothek wurde benannt
mylib.so. - Eine statische Bibliotheksausgabe wurde benannt
mylib.a.
Neues Verhalten
Ab .NET 11 wendet NativeAOT standardmäßig das Präfix lib auf nicht ausführbare systemeigene Bibliotheksausgabe auf Unix an. Beispiel:
- Die Ausgabe einer geteilten Bibliothek wird nun
libmylib.sogenannt. - Eine ausgabe einer statischen Bibliothek heißt jetzt
libmylib.a.
Um das neue Verhalten zu deaktivieren, setzen Sie UseNativeLibPrefix auf false in Ihrer Projektdatei.
<PropertyGroup>
<UseNativeLibPrefix>false</UseNativeLibPrefix>
</PropertyGroup>
Art der einschneidenden Änderung
Diese Änderung ist eine Verhaltensänderung.
Grund für die Änderung
Das lib Präfix ist die allgemein akzeptierte Benennungskonvention für freigegebene und statische Bibliotheken auf Unix-Plattformen. Die Anwendung verbessert standardmäßig Konsistenz und Interoperabilität mit anderen Unix-basierten Tools und Systemen. Außerdem wird die Notwendigkeit von Problemumgehungen in .NET für Android entfernt, bei denen Binärdateien dieser Konvention folgen müssen.
Weitere Details finden Sie in der ursprünglichen Pullanforderung.
Empfohlene Maßnahme
Überprüfen Sie Ihre Buildausgaben und aktualisieren Sie alle Skripte, Bereitstellungsprozesse oder Konfigurationen, die von den vorherigen Benennungskonventionen abhängen. Dies gilt insbesondere in folgenden Fällen:
Aktualisieren von Skripts und Tools: Wenn Ihre Build- oder Bereitstellungsskripts nach Namen auf systemeigene Bibliotheksausgaben verweisen, aktualisieren Sie sie so, dass das neue
libPräfix berücksichtigt wird.Deaktivieren Sie bei Bedarf: Wenn das
libPräfix Probleme in Ihrem Workflow verursacht, setzen SieUseNativeLibPrefixin der Projektdatei auffalse.<PropertyGroup> <UseNativeLibPrefix>false</UseNativeLibPrefix> </PropertyGroup>
Betroffene APIs
Keiner.