Compartilhar via


IL3002: evite chamar membros anotados com 'RequiresAssemblyFilesAttribute' em publicações como arquivo único.

Valor
ID da regra IL3002
Categoria SingleFile
A correção é interruptiva ou não interruptiva Não interruptiva

Causa

Ao publicar um aplicativo como arquivo único (por exemplo, definindo a propriedade PublishSingleFile em um projeto como true), a chamada de membros anotados com o atributo RequiresAssemblyFilesAttribute não é compatível com arquivo único. Essas chamadas não são compatíveis porque os membros anotados com esse atributo exigem que os arquivos do assembly estejam no disco e os assemblies inseridos em um aplicativo de arquivo único são carregados da 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 para informações úteis aos usuários que estão publicando aplicativos como arquivo único. Considere adaptar o código existente à mensagem do atributo ou remover a chamada com violação.

Quando suprimir avisos

É apropriado suprimir o aviso quando o código existente tiver sido adaptado à recomendação descrita na mensagem do atributo 'RequiresAssemblyFilesAttribute'.