Partilhar via


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'.