Compartir vía


La resolución de biblioteca nativa de Linux ya no usa netcoredeps

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.

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:

Las APIs afectadas