Notatka
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Począwszy od .NET 11, NativeAOT stosuje prefiks lib (na przykład libmylib.so, libmylib.dylib, libmylib.a) do domyślnych nie wykonywalnych danych wyjściowych bibliotek natywnych na platformach Unix. Nowa właściwość MSBuild , UseNativeLibPrefixumożliwia rezygnację z tego zachowania.
Wersja wprowadzona
.NET 11 (wersja zapoznawcza 3)
Poprzednie zachowanie
Wcześniej funkcja NativeAOT nie zastosowała prefiksu lib do natywnych danych wyjściowych biblioteki w systemie Unix. Przykład:
- Wyjściowa biblioteka współdzielona nosiła nazwę
mylib.so. - Wynik biblioteki statycznej został nazwany
mylib.a.
Nowe zachowanie
Począwszy od .NET 11, nativeAOT stosuje prefiks lib domyślnie do danych wyjściowych bibliotek nie wykonywalnych natywnych w systemie Unix. Przykład:
- Dane wyjściowe biblioteki udostępnionej mają teraz nazwę
libmylib.so. - Dane wyjściowe biblioteki statycznej mają teraz nazwę
libmylib.a.
Aby zrezygnować z nowego zachowania, ustaw wartość UseNativeLibPrefix na false w pliku projektu:
<PropertyGroup>
<UseNativeLibPrefix>false</UseNativeLibPrefix>
</PropertyGroup>
Typ zmiany przełamującej
Ta zmiana jest zmianą behawioralną.
Przyczyna zmiany
Prefiks lib jest powszechnie akceptowaną konwencją nazewnictwa dla bibliotek udostępnionych i statycznych na platformach Unix. Stosowanie go domyślnie zwiększa spójność i współdziałanie z innymi narzędziami i systemami opartymi na systemie Unix. Eliminuje również konieczność stosowania obejść w .NET dla Androida, co wymusza dostosowanie plików binarnych do tej konwencji.
Aby uzyskać więcej informacji, zobacz oryginalne żądanie ściągnięcia.
Zalecana akcja
Przejrzyj dane wyjściowe kompilacji i zaktualizuj wszystkie skrypty, procesy wdrażania lub konfiguracje, które zależą od poprzednich konwencji nazewnictwa. Specyficznie:
Aktualizowanie skryptów i narzędzi: jeśli skrypty kompilacji lub wdrażania odwołują się do danych wyjściowych biblioteki natywnej według nazwy, zaktualizuj je, aby uwzględnić nowy
libprefiks.W razie potrzeby zrezygnuj
lib: jeśli prefiks powoduje problemy w przepływie pracy, ustaw wartośćUseNativeLibPrefixnafalsew pliku projektu:<PropertyGroup> <UseNativeLibPrefix>false</UseNativeLibPrefix> </PropertyGroup>
Interfejsy API, których dotyczy problem
Żaden.