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