Kommentar
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Från och med .NET 11 tillämpar NativeAOT prefixet lib (till exempel libmylib.so, libmylib.dylib, libmylib.a) som standard för icke-körbara interna biblioteksutdata på Unix-plattformar. Med en ny MSBuild-egenskap kan UseNativeLibPrefixdu välja bort det här beteendet.
Version lanserad
.NET 11 Förhandsversion 3
Tidigare beteende
Tidigare tillämpade NativeAOT inte prefixet lib på inbyggda biblioteksutdata i Unix. Som exempel:
- Ett delat bibliotek namngavs
mylib.so. - Ett statiskt bibliotek hade filnamnet
mylib.a.
Nytt beteende
Från och med .NET 11 tillämpar NativeAOT prefixet lib som standard på icke-körbara interna biblioteksutdata på Unix. Som exempel:
- Ett delat biblioteksutdata heter nu
libmylib.so. - Ett statiskt biblioteksutdata heter nu
libmylib.a.
Om du vill välja bort det nya beteendet anger du UseNativeLibPrefix till false i projektfilen:
<PropertyGroup>
<UseNativeLibPrefix>false</UseNativeLibPrefix>
</PropertyGroup>
Typ av brytande ändring
Den här ändringen är en beteendeförändring.
Orsak till ändringen
Prefixet lib är den allmänt accepterade namngivningskonventionen för delade och statiska bibliotek på Unix-plattformar. Om du använder den som standard förbättras konsekvensen och samverkan med andra Unix-baserade verktyg och system. Det tar också bort behovet av lösningar i .NET för Android, vilket kräver binärfiler för att följa den här konventionen.
Mer information finns i den ursprungliga pull-begäran.
Rekommenderad åtgärd
Granska dina byggutdata och uppdatera eventuella skript, distributionsprocesser eller konfigurationer som är beroende av tidigare namngivningskonventioner. Specifikt:
Uppdatera skript och verktyg: Om dina bygg- eller distributionsskript refererar till inhemska bibliotekutdata efter namn uppdaterar du dem för att ta hänsyn till det nya
lib-prefixet.Avregistrera dig om det behövs: Om prefixet
liborsakar problem i arbetsflödet anger duUseNativeLibPrefixtillfalsei projektfilen:<PropertyGroup> <UseNativeLibPrefix>false</UseNativeLibPrefix> </PropertyGroup>
Berörda API:er
Ingen.