NativeAOT maakt gebruik van lib-voorvoegsel voor systeemeigen bibliotheekuitvoer op Unix

Vanaf .NET 11 past NativeAOT het voorvoegsel lib (bijvoorbeeld libmylib.so, libmylib.dylib, libmylib.a) standaard toe op niet-uitvoerbare systeemeigen bibliotheekuitvoer op Unix-platforms. Met een nieuwe MSBuild-eigenschap UseNativeLibPrefixkunt u zich afmelden voor dit gedrag.

Geïntroduceerde versie

.NET 11 preview 3

Vorig gedrag

Voorheen heeft NativeAOT het lib voorvoegsel niet toegepast op systeemeigen bibliotheekuitvoer op Unix. Voorbeeld:

  • Een gedeelde bibliotheekuitvoer werd mylib.so genoemd.
  • Een statische bibliotheekuitvoer is genaamd mylib.a.

Nieuw gedrag

Vanaf .NET 11 past NativeAOT het voorvoegsel lib standaard toe op niet-uitvoerbare systeemeigen bibliotheekuitvoer op Unix. Voorbeeld:

  • Een gedeelde bibliotheekuitvoer heeft nu de naam libmylib.so.
  • De uitvoer van een statische bibliotheek heeft nu de naam libmylib.a.

Als u zich wilt afmelden voor het nieuwe gedrag, stelt u dit UseNativeLibPrefixfalse in uw projectbestand in:

<PropertyGroup>
  <UseNativeLibPrefix>false</UseNativeLibPrefix>
</PropertyGroup>

Type van brekende verandering

Deze wijziging is een gedragswijziging.

Reden voor wijziging

Het lib voorvoegsel is de algemeen geaccepteerde naamconventie voor gedeelde en statische bibliotheken op Unix-platforms. Het toepassen ervan verbetert standaard de consistentie en interoperabiliteit met andere Unix-hulpprogramma's en -systemen. Het verwijdert ook de noodzaak voor tijdelijke oplossingen in .NET voor Android, waarvoor binaire bestanden moeten worden gevolgd door deze conventie.

Zie de oorspronkelijke pull-aanvraag voor meer informatie.

Controleer de uitvoer van de build en werk alle scripts, implementatieprocessen of configuraties bij die afhankelijk zijn van de vorige naamconventies. Specifiek:

  • Scripts en hulpprogramma's bijwerken: als uw build- of implementatiescripts verwijzen naar systeemeigen bibliotheekuitvoer op naam, werkt u deze bij om rekening te houden met het nieuwe lib voorvoegsel.

  • Meld u indien nodig af: Als het lib voorvoegsel problemen veroorzaakt in uw workflow, stelt u UseNativeLibPrefix in op false in uw projectbestand.

    <PropertyGroup>
      <UseNativeLibPrefix>false</UseNativeLibPrefix>
    </PropertyGroup>
    

Betreffende API's

Geen.