Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
A resolução da biblioteca nativa do Linux não usa mais
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.
Ação recomendada
Se o aplicativo dependesse do netcoredeps subdiretório para p/invokes ou resolução de biblioteca nativa personalizada, use as seguintes alternativas:
- Implemente um mecanismo de resolução personalizado usando um dos seguintes:
- Se um
RPATHfor necessário em sua implantação, modifique explicitamente o arquivo ELF usando o utilitáriopatchelf.