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.
Causa
Quando você publica um aplicativo como AOT Nativo (definindo a PublishAot propriedade true em um projeto), chamar membros anotados com o atributo RequiresDynamicCodeAttribute pode resultar em exceções em tempo de execução. Os membros anotados com esse atributo podem exigir a capacidade de criar dinamicamente um novo código em runtime, e o modelo de publicação AOT nativo não fornece uma maneira de gerar código nativo em runtime.
Descrição da regra
RequiresDynamicCodeAttribute indica que o membro faz referência ao código que pode exigir geração de código em runtime.
Exemplo
// AOT analysis warning IL3050: Program.<Main>$(String[]): Using member 'System.Type.MakeGenericType(Type[])'
// which has 'RequiresDynamicCodeAttribute' can break functionality when AOT compiling. The native code for
// this instantiation might not be available at runtime.
typeof(Generic<>).MakeGenericType(unknownType);
class Generic<T> { }
struct SomeStruct { }
Como corrigir violações
Os membros anotados com o atributo RequiresDynamicCodeAttribute têm uma mensagem que fornece informações úteis aos usuários que estão publicando como AOT nativo. Considere adaptar o código existente à mensagem do atributo ou remover a chamada com violação.
Algumas APIs anotadas com RequiresDynamicCodeAttribute não disparam um aviso quando chamadas em um padrão específico. Para obter mais informações, consulte APIs intrínsecas marcadas como RequiresDynamicCode.