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.
Motivo
Um projeto tem <VerifyReferenceAotCompatibility>true</VerifyReferenceAotCompatibility> definido, e um ou mais assemblies referenciados não têm o atributo de metadados do assembly IsAotCompatible definido como true.
Descrição da regra
Ao publicar com o AOT Nativo usando <PublishAot>true</PublishAot> ou marcar seu projeto como compatível com <IsAotCompatible>true</IsAotCompatible>AOT, você pode opcionalmente habilitar a verificação de que todos os assemblies referenciados também são anotados para compatibilidade de AOT. Isso ajuda a garantir que todas as dependências do projeto sejam anotadas para compatibilidade com AOT.
Para habilitar essa verificação, defina a VerifyReferenceAotCompatibility propriedade true no arquivo de projeto:
<PropertyGroup>
<PublishAot>true</PublishAot>
<VerifyReferenceAotCompatibility>true</VerifyReferenceAotCompatibility>
</PropertyGroup>
Quando essa propriedade está habilitada, o analisador verifica se todos os assemblies referenciados foram criados com <IsAotCompatible>true</IsAotCompatible>, o que adiciona o atributo [assembly: AssemblyMetadata("IsAotCompatible", "True")] ao nível do assembly.
Example
// Assembly reference: MyLibrary.dll (built without <IsAotCompatible>true</IsAotCompatible>)
public class Program
{
public static void Main()
{
var obj = new MyLibrary.SomeClass();
}
}
warning IL3058: Referenced assembly 'MyLibrary' is not built with `<IsAotCompatible>true</IsAotCompatible>` and may not be compatible with AOT.
Como corrigir violações
Você tem várias opções para corrigir este aviso:
- Se você controlar o código-fonte da biblioteca, atualize a biblioteca referenciada para ser construída com
<IsAotCompatible>true</IsAotCompatible>. AIsAotCompatiblepropriedade marca o assembly como compatível com o AOT Nativo e habilita a análise específica do AOT. Essa é a abordagem preferencial. - Se você estiver confiante de que a biblioteca funciona corretamente com a AOT nativa mesmo sem o atributo, desabilite a verificação definindo
<VerifyReferenceAotCompatibility>false</VerifyReferenceAotCompatibility>no arquivo de projeto.