Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
A partire da .NET 11, NativeAOT applica il prefisso lib (ad esempio, libmylib.so, libmylib.dylib, libmylib.a) per impostazione predefinita agli output della libreria nativa non eseguibile nelle piattaforme Unix. Una nuova proprietà MSBuild, UseNativeLibPrefix, consente di rifiutare esplicitamente questo comportamento.
Versione introdotta
.NET 11 Preview 3
Comportamento precedente
In precedenza, NativeAOT non applicava il lib prefisso agli output della libreria nativa in Unix. Per esempio:
- Un output della libreria condivisa è stato denominato
mylib.so. - Un output della libreria statica è stato chiamato
mylib.a.
Nuovo comportamento
A partire da .NET 11, NativeAOT applica il prefisso lib per impostazione predefinita agli output della libreria nativa non eseguibile in Unix. Per esempio:
- Un output della libreria condivisa è ora denominato
libmylib.so. - L'output della libreria statica è ora denominato
libmylib.a.
Impostare UseNativeLibPrefix su false nel file di progetto per rifiutare esplicitamente il nuovo comportamento.
<PropertyGroup>
<UseNativeLibPrefix>false</UseNativeLibPrefix>
</PropertyGroup>
Tipo di cambiamento che interrompe la compatibilità
Questa modifica è una modifica funzionale.
Motivo della modifica
Il lib prefisso è la convenzione di denominazione ampiamente accettata per le librerie condivise e statiche sulle piattaforme Unix. L'applicazione per impostazione predefinita migliora la coerenza e l'interoperabilità con altri strumenti e sistemi basati su Unix. Rimuove inoltre la necessità di soluzioni alternative in .NET per Android, che richiede che i file binari seguano questa convenzione.
Per altri dettagli, vedere la richiesta pull originale.
Azione consigliata
Esaminare gli output di compilazione e aggiornare gli script, i processi di distribuzione o le configurazioni che dipendono dalle convenzioni di denominazione precedenti. In particolare:
Aggiornare script e strumenti: se gli script di compilazione o distribuzione fanno riferimento agli output della libreria nativa in base al nome, aggiornarli in modo da tenere conto del nuovo
libprefisso.Disattivare se necessario: se il
libprefisso causa problemi nel flusso di lavoro, impostareUseNativeLibPrefixsufalsenel file di progetto:<PropertyGroup> <UseNativeLibPrefix>false</UseNativeLibPrefix> </PropertyGroup>
Le API interessate
Nessuno.