Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
A partir do .NET 11, NativeAOT aplica o prefixo lib (por exemplo, libmylib.so, libmylib.dylib, libmylib.a) por padrão a saídas de biblioteca nativa não executáveis em plataformas Unix. Uma nova propriedade UseNativeLibPrefixdo MSBuild permite que você opte por não usar esse comportamento.
Versão introduzida
.NET 11 Versão Prévia 3
Comportamento anterior
Anteriormente, NativeAOT não aplica o lib prefixo a saídas de biblioteca nativas no Unix. Por exemplo:
- Uma saída de biblioteca compartilhada foi nomeada
mylib.so. - Uma saída de biblioteca estática foi nomeada
mylib.a.
Novo comportamento
A partir do .NET 11, NativeAOT aplica o prefixo lib por padrão a saídas de biblioteca nativa não executáveis no Unix. Por exemplo:
- Uma saída de biblioteca compartilhada agora é nomeada
libmylib.so. - Uma saída de biblioteca estática agora é nomeada
libmylib.a.
Para recusar o novo comportamento, defina UseNativeLibPrefixfalse no arquivo de projeto:
<PropertyGroup>
<UseNativeLibPrefix>false</UseNativeLibPrefix>
</PropertyGroup>
Tipo de mudança disruptiva
Essa alteração é uma mudança comportamental.
Razão da alteração
O lib prefixo é a convenção de nomenclatura amplamente aceita para bibliotecas compartilhadas e estáticas em plataformas Unix. A aplicação por padrão melhora a consistência e a interoperabilidade com outros sistemas e ferramentas baseadas em Unix. Ele também remove a necessidade de soluções alternativas no .NET para Android, o que exige que os binários sigam essa convenção.
Para obter mais detalhes, consulte a solicitação de pull original.
Ação recomendada
Examine as saídas de build e atualize os scripts, os processos de implantação ou as configurações que dependem das convenções de nomenclatura anteriores. Especificamente:
Atualizar scripts e ferramentas: se os scripts de build ou implantação fizerem referência a saídas de biblioteca nativa por nome, atualize-as para levar em conta o novo
libprefixo.Desative se necessário: Se o prefixo
libcausar problemas no seu fluxo de trabalho, configureUseNativeLibPrefixparafalseem seu arquivo de projeto.<PropertyGroup> <UseNativeLibPrefix>false</UseNativeLibPrefix> </PropertyGroup>
APIs afetadas
Nenhum.