Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Řešení nativních knihoven pro Linux už nepoužívá
Od verze .NET 8 již aplikace pro Linux nehledají nativní knihovny v podadresáři netcoredeps.
Verze byla představena
.NET 8
Předchozí chování
V dřívějších verzích .NET aplikace pro Linux vyhledaly nativní knihovny v podadresáři umístěném netcoredeps vedle spustitelného souboru aplikace. Toto chování se vztahovalo na všechna načtení nativních knihoven, včetně uživatelských definic platformových volání (p/invokes).
Nové chování
V .NET 8 a novějších verzích aplikací pro Linux již aplikace nehledají nativní knihovny v podadresáři netcoredeps. Řešení nativní knihovny se teď řídí standardními mechanismy bez nutnosti spoléhat se na tento podadresář.
Typ zásadní změny
Jedná se o změnu chování.
Důvod změny
Chování netcoredeps bylo původně zavedeno pro zpracování složitých závislostí na knihovnách třetích stran ve starších verzích .NET. .NET 8+ už toto chování nevyžaduje kvůli vylepšenému zpracování závislostí. Mechanismus navíc není v souladu s doporučenými postupy pro platformy ELF.
Další informace najdete v tématu Problém Na GitHubu #114393.
Doporučená akce
Pokud vaše aplikace spoléhala na netcoredeps podadresář pro P/Invoke nebo řešení vlastní nativní knihovny, použijte následující alternativy:
- Implementujte vlastní mechanismus řešení pomocí některého z následujících způsobů:
- Pokud je
RPATHpožadováno v nasazení, explicitně upravte soubor ELF pomocí nástrojepatchelf.