IL3002: Evite chamar membros anotados com 'RequiresAssemblyFilesAttribute' ao publicar como um único arquivo.
Value | |
---|---|
ID da regra | IL3002 |
Categoria | Ficheiro único |
A correção está quebrando ou não quebrando | Sem quebra |
Motivo
Quando você publica um aplicativo como um único arquivo (por exemplo, definindo a PublishSingleFile
propriedade como true
em um projeto), chamar membros anotados com o atributo não é compatível com um RequiresAssemblyFilesAttribute
único arquivo. Essas chamadas não são compatíveis porque os membros anotados com esse atributo exigem que os arquivos assembly estejam no disco e os assemblies incorporados em um aplicativo de arquivo único são carregados de memória.
Exemplo:
[RequiresAssemblyFiles(Message="Use 'MethodFriendlyToSingleFile' instead", Url="http://help/assemblyfiles")]
void MethodWithAssemblyFilesUsage()
{
}
void TestMethod()
{
// IL3002: Using member 'MethodWithAssemblyFilesUsage' which has 'RequiresAssemblyFilesAttribute'
// can break functionality when embedded in a single-file app. Use 'MethodFriendlyToSingleFile' instead. http://help/assemblyfiles
MethodWithAssemblyFilesUsage();
}
Como corrigir violações
Os membros anotados com o atributo 'RequiresAssemblyFilesAttribute' têm uma mensagem destinada a fornecer informações úteis aos usuários que estão publicando como um único arquivo. Considere adaptar o código existente à mensagem do atributo ou remover a chamada violadora.
Quando suprimir avisos
É apropriado suprimir o aviso quando o código existente tiver sido adaptado à recomendação descrita na mensagem do atributo 'RequiresAssemblyFilesAttribute'.