Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
A partir de .NET 11, o NativeAOT aplica por defeito o prefixo lib (por exemplo, libmylib.so, libmylib.dylib, libmylib.a) às saídas nativas de bibliotecas não executáveis em plataformas Unix. Uma nova propriedade MSBuild, UseNativeLibPrefix, permite-lhe optar por não aderir a este comportamento.
Versão introduzida
.NET 11 Prévia 3
Comportamento anterior
Anteriormente, o NativeAOT não aplicava o lib prefixo às saídas nativas das bibliotecas no Unix. Por exemplo:
- Uma saída de biblioteca partilhada foi chamada
mylib.so. - Uma saída de biblioteca estática foi chamada
mylib.a.
Novo comportamento
A partir de .NET 11, o NativeAOT aplica o prefixo lib por defeito a saídas de bibliotecas nativas não executáveis no Unix. Por exemplo:
- Uma saída de biblioteca partilhada é agora chamada
libmylib.so. - Uma saída de biblioteca estática é agora chamada
libmylib.a.
Para optar por não participar no novo comportamento, defina UseNativeLibPrefix para false no seu ficheiro de projeto:
<PropertyGroup>
<UseNativeLibPrefix>false</UseNativeLibPrefix>
</PropertyGroup>
Tipo de mudança disruptiva
Esta alteração é de natureza comportamental .
Motivo da mudança
O lib prefixo é a convenção de nomenclatura amplamente aceite para bibliotecas partilhadas e estáticas em plataformas Unix. Aplicar por padrão melhora a consistência e a interoperabilidade com outras ferramentas e sistemas baseados em Unix. Também elimina a necessidade de soluções alternativas no .NET para Android, que exige que os binários sigam esta convenção.
Para mais detalhes, consulte o pull request original.
Ação recomendada
Revê os seus resultados de compilação e atualiza quaisquer scripts, processos de implementação ou configurações que dependam das antigas convenções de nomenclatura. Specifically:
Atualizar scripts e ferramentas: Se os seus scripts de build ou deployment referenciarem as saídas nativas das bibliotecas pelo nome, atualize-as para ter em conta o novo
libprefixo.Optar por não participar se necessário: Se o
libprefixo causar problemas no seu fluxo de trabalho, definaUseNativeLibPrefixparafalseno ficheiro do projeto:<PropertyGroup> <UseNativeLibPrefix>false</UseNativeLibPrefix> </PropertyGroup>
APIs afetadas
Nenhum.