Dela via


Den inbyggda Linux-biblioteksupplösningen används inte längre netcoredeps

Från och med .NET 8 söker Linux-program inte längre i underkatalogen netcoredeps efter interna bibliotek.

Version lanserad

.NET 8

Tidigare beteende

I tidigare versioner av .NET sökte Linux-program efter inbyggda bibliotek i en netcoredeps underkatalog bredvid det körbara programmet. Det här beteendet tillämpas på alla inbyggda biblioteksbelastningar, inklusive användardefinierade plattformsanrop (p/invokes).

Nytt beteende

I .NET 8 och senare söker Linux-program inte längre i underkatalogen netcoredeps efter interna bibliotek. Den ursprungliga biblioteksupplösningen följer nu standardmekanismer utan att förlita sig på den här underkatalogen.

Typ av brytande ändring

Det här är en beteendeförändring.

Orsak till ändring

Beteendet netcoredeps introducerades ursprungligen för att hantera komplexa beroenden på bibliotek från tredje part i tidigare .NET-versioner. .NET 8+ kräver inte längre det här beteendet på grund av förbättrad beroendehantering. Dessutom är mekanismen inte anpassad till rekommenderade metoder för ELF-plattformar.

Mer information finns i GitHub-problem #114393.

Om ditt program förlitade sig på underkatalogen netcoredeps för p/invokes eller anpassad intern biblioteksmatchning använder du följande alternativ:

Berörda API:er