Nota
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
La resolución de biblioteca nativa de Linux ya no usa
A partir de .NET 8, las aplicaciones Linux ya no buscan en el netcoredeps subdirectorio las bibliotecas nativas.
Versión introducida
.NET 8
Comportamiento anterior
En versiones anteriores de .NET, las aplicaciones Linux buscaron bibliotecas nativas en un netcoredeps subdirectorio ubicado junto al ejecutable de la aplicación. Este comportamiento se aplica a todas las cargas de biblioteca nativas, incluidas las invocaciones de plataforma definidas por el usuario (p/invokes).
Nuevo comportamiento
En .NET 8 y versiones posteriores, las aplicaciones Linux ya no buscan en el netcoredeps subdirectorio las bibliotecas nativas. La resolución de bibliotecas nativas ahora sigue los mecanismos estándar sin depender de este subdirectorio.
Tipo de cambio disruptivo
Se trata de un cambio de comportamiento .
Motivo del cambio
El netcoredeps comportamiento se introdujo originalmente para controlar dependencias complejas en bibliotecas de terceros en versiones anteriores de .NET. .NET 8+ ya no requiere este comportamiento debido al control de dependencias mejorado. Además, el mecanismo no está alineado con los procedimientos recomendados para las plataformas ELF.
Para obtener más información, consulte Problema de GitHub #114393.
Acción recomendada
Si su aplicación dependía de la subcarpeta netcoredeps para p/invokes o para la resolución personalizada de bibliotecas nativas, use las siguientes alternativas:
- Implemente un mecanismo de resolución personalizado mediante uno de los siguientes:
- Si se requiere un
RPATHen su implementación, modifique el archivo ELF explícitamente mediante la utilidadpatchelf.