Partilhar via


IL3002: Evite chamar membros anotados com 'RequiresAssemblyFilesAttribute' ao publicar como um único arquivo

Valor
ID da regra IL3002
Categoria Ficheiro único
A correção causa problema ou não causa problema Sem quebra

Motivo

Ao publicar uma aplicação como um único ficheiro (por exemplo, ao definir a propriedade PublishSingleFile como true num projeto), a chamada de membros anotados com o atributo RequiresAssemblyFilesAttribute não é compatível com a publicação em único ficheiro. Essas chamadas não são compatíveis porque os membros anotados com esse atributo exigem que os ficheiros de assembly estejam no disco, enquanto os assemblies incorporados em um aplicativo com um único arquivo são carregados diretamente na 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'.