Compartilhar via


A resolução da biblioteca nativa do Linux não usa mais netcoredeps

A partir do .NET 8, os aplicativos Linux não pesquisam mais o netcoredeps subdiretório em busca de bibliotecas nativas.

Versão introduzida

.NET 8

Comportamento anterior

Em versões anteriores do .NET, os aplicativos Linux pesquisavam bibliotecas nativas em um netcoredeps subdiretório localizado ao lado do executável do aplicativo. Esse comportamento aplicou-se a todas as cargas de bibliotecas nativas, incluindo as invocações de plataforma definidas pelo usuário (p/invokes).

Novo comportamento

No .NET 8 e posterior, os aplicativos Linux não pesquisam mais o netcoredeps subdiretório em busca de bibliotecas nativas. A resolução da biblioteca nativa agora segue os mecanismos padrão sem depender desse subdiretório.

Tipo de mudança disruptiva

Essa é uma mudança comportamental.

Motivo da alteração

O netcoredeps comportamento foi introduzido originalmente para lidar com dependências complexas em bibliotecas de terceiros em versões anteriores do .NET. O .NET 8+ não requer mais esse comportamento devido a um melhor tratamento de dependência. Além disso, o mecanismo não está alinhado com as práticas recomendadas para plataformas ELF.

Para obter mais informações, consulte o problema do GitHub #114393.

Se o aplicativo dependesse do netcoredeps subdiretório para p/invokes ou resolução de biblioteca nativa personalizada, use as seguintes alternativas:

APIs afetadas