Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
À compter de .NET 11, NativeAOT applique le préfixe lib (par exemple, libmylib.so, libmylib.dylib, libmylib.a) par défaut aux sorties de bibliothèque native non exécutables sur les plateformes Unix. Une nouvelle propriété MSBuild, UseNativeLibPrefixvous permet de désactiver ce comportement.
Version introduite
.NET 11 Preview 3
Comportement antérieur
Auparavant, NativeAOT n’appliquait pas le lib préfixe aux sorties de bibliothèque natives sur Unix. Par exemple:
- Une sortie de bibliothèque partagée a été nommée
mylib.so. - Une sortie de bibliothèque statique a été nommée
mylib.a.
Nouveau comportement
À compter de .NET 11, NativeAOT applique le préfixe lib par défaut aux sorties de bibliothèque native non exécutables sur Unix. Par exemple:
- Une sortie de bibliothèque partagée est désormais nommée
libmylib.so. - Une sortie de bibliothèque statique est désormais nommée
libmylib.a.
Pour désactiver le nouveau comportement, définissez-le UseNativeLibPrefixfalse dans votre fichier projet :
<PropertyGroup>
<UseNativeLibPrefix>false</UseNativeLibPrefix>
</PropertyGroup>
Type de changement cassant
Ce changement est un changement de comportement.
Raison du changement
Le lib préfixe est la convention d’affectation de noms largement acceptée pour les bibliothèques partagées et statiques sur les plateformes Unix. L’application de celui-ci par défaut améliore la cohérence et l’interopérabilité avec d’autres outils et systèmes Unix. Il supprime également la nécessité de solutions de contournement dans .NET pour Android, ce qui nécessite que les fichiers binaires suivent cette convention.
Pour plus d'informations, consultez le pull request d'origine.
Action recommandée
Passez en revue vos sorties de build et mettez à jour tous les scripts, processus de déploiement ou configurations qui dépendent des conventions d’affectation de noms précédentes. Plus précisément :
Mettre à jour des scripts et des outils : si vos scripts de build ou de déploiement référencent les sorties de bibliothèque native par nom, mettez-les à jour pour prendre en compte le nouveau
libpréfixe.Désactivez le cas échéant : si le
libpréfixe provoque des problèmes dans votre flux de travail, définissez-leUseNativeLibPrefixfalsedans votre fichier projet :<PropertyGroup> <UseNativeLibPrefix>false</UseNativeLibPrefix> </PropertyGroup>
API affectées
Aucun.