Partager via


La résolution de bibliothèque native Linux n’utilise plus netcoredeps

À compter de .NET 8, les applications Linux ne recherchent plus le netcoredeps sous-répertoire des bibliothèques natives.

Version introduite

.NET 8

Comportement précédent

Dans les versions antérieures de .NET, les applications Linux ont recherché des bibliothèques natives dans un netcoredeps sous-répertoire situé en regard de l’exécutable de l’application. Ce comportement s'appliquait à tous les chargements de bibliothèque native, y compris les appels de plateformes définis par l'utilisateur (p/invokes).

Nouveau comportement

Dans .NET 8 et versions ultérieures, les applications Linux ne recherchent plus le netcoredeps sous-répertoire des bibliothèques natives. La résolution de bibliothèque native suit désormais les mécanismes standard sans dépendre de ce sous-répertoire.

Type de changement cassant

Il s’agit d’un changement comportemental.

Raison de la modification

Le netcoredeps comportement a été introduit à l’origine pour gérer les dépendances complexes sur les bibliothèques tierces dans les versions antérieures de .NET. .NET 8+ ne nécessite plus ce comportement en raison d’une gestion améliorée des dépendances. En outre, le mécanisme n’est pas aligné sur les pratiques recommandées pour les plateformes ELF.

Pour plus d’informations, consultez le problème GitHub #114393.

Si votre application s’appuie sur le netcoredeps sous-répertoire pour p/invokes ou la résolution de bibliothèque native personnalisée, utilisez les alternatives suivantes :

API affectées