Nota
O acceso a esta páxina require autorización. Pode tentar iniciar sesión ou modificar os directorios.
O acceso a esta páxina require autorización. Pode tentar modificar os directorios.
A partir de .NET 11, NativeAOT aplica el prefijo lib (por ejemplo, libmylib.so, libmylib.dylib, libmylib.a) de forma predeterminada a salidas de biblioteca nativa no ejecutables en plataformas Unix. Una nueva propiedad de MSBuild, UseNativeLibPrefix, le permite no participar en este comportamiento.
Versión introducida
.NET 11 Preview 3
Comportamiento anterior
Anteriormente, NativeAOT no aplicaba el lib prefijo a las salidas de la biblioteca nativa en Unix. Por ejemplo:
- Una salida de biblioteca compartida se denominaba
mylib.so. - Una salida de biblioteca estática se denominaba
mylib.a.
Nuevo comportamiento
A partir de .NET 11, NativeAOT aplica el prefijo lib de forma predeterminada a las salidas de la biblioteca nativa no ejecutable en Unix. Por ejemplo:
- Ahora, una salida de biblioteca compartida se denomina
libmylib.so. - Ahora, una salida de biblioteca estática se denomina
libmylib.a.
Para no participar en el nuevo comportamiento, establezca UseNativeLibPrefix a false en el archivo del proyecto.
<PropertyGroup>
<UseNativeLibPrefix>false</UseNativeLibPrefix>
</PropertyGroup>
Tipo de cambio disruptivo
Este es un cambio de comportamiento.
Motivo del cambio
El lib prefijo es la convención de nomenclatura ampliamente aceptada para bibliotecas compartidas y estáticas en plataformas Unix. Aplicarla de forma predeterminada mejora la coherencia y la interoperabilidad con otras herramientas y sistemas basados en Unix. También elimina la necesidad de soluciones alternativas en .NET para Android, lo que requiere que los archivos binarios sigan esta convención.
Para más información, consulte la solicitud de incorporación de cambios original.
Acción recomendada
Revise las salidas de compilación y actualice los scripts, los procesos de implementación o las configuraciones que dependen de las convenciones de nomenclatura anteriores. Specifically:
Actualizar scripts y herramientas: si los scripts de compilación o implementación hacen referencia a las salidas de la biblioteca nativa por su nombre, actualícelos para tener en cuenta el nuevo
libprefijo.Cancelar la suscripción si es necesario: si el prefijo provoca problemas en el
libflujo de trabajo, configúreloUseNativeLibPrefixfalseen el archivo del proyecto:<PropertyGroup> <UseNativeLibPrefix>false</UseNativeLibPrefix> </PropertyGroup>
Las APIs afectadas
Ninguno.