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.
Počínaje .NET 11 použije NativeAOT ve výchozím nastavení předponu lib (například libmylib.so, libmylib.dylib, libmylib.a) na nespustitelné výstupy nativní knihovny na platformách Unix. Nová vlastnost MSBuild umožňuje UseNativeLibPrefixvyjádřit výslovný nesouhlas s tímto chováním.
Verze byla představena
.NET 11 Preview 3
Předchozí chování
Dříve NativeAOT nepoužil předponu lib na výstupy nativních knihoven na Unixu. Například:
- Byl pojmenován výstup sdílené knihovny
mylib.so. - Výstup statické knihovny byl pojmenován
mylib.a.
Nové chování
Počínaje .NET 11, NativeAOT ve výchozím nastavení použije předponu lib na výstupy nativní knihovny, které nejsou spustitelné na Unixu. Například:
- Výstup sdílené knihovny je teď pojmenovaný
libmylib.so. - Výstup statické knihovny je teď pojmenovaný
libmylib.a.
Pokud chcete zrušit nové chování, nastavte UseNativeLibPrefix na false v souboru projektu:
<PropertyGroup>
<UseNativeLibPrefix>false</UseNativeLibPrefix>
</PropertyGroup>
Typ zásadní změny
Tato změna je změna chování.
Důvod změny
Předpona lib je široce přijímaná konvence pojmenování pro sdílené a statické knihovny na platformách Unix. Použití ve výchozím nastavení zlepšuje konzistenci a interoperabilitu s jinými nástroji a systémy se systémem Unix. Zároveň odstraňuje potřebu alternativních řešení v .NET pro Android, která vyžaduje, aby binární soubory dodržovaly tuto konvenci.
Další podrobnosti najdete v původní žádosti o přijetí změn.
Doporučená akce
Zkontrolujte výstupy sestavení a aktualizujte všechny skripty, procesy nasazení nebo konfigurace, které závisí na předchozích konvencích vytváření názvů. Konkrétně:
Aktualizace skriptů a nástrojů: Pokud skripty sestavení nebo nasazení odkazují podle názvu na výstupy nativní knihovny, aktualizujte je, aby zohledňovaly novou
libpředponu.V případě potřeby se odhlaste: Pokud
libpředpona způsobuje problémy v pracovním postupu, nastavteUseNativeLibPrefixvfalsesouboru projektu:<PropertyGroup> <UseNativeLibPrefix>false</UseNativeLibPrefix> </PropertyGroup>
Ovlivněná rozhraní API
Žádné.