Compartilhar via


CA1017: Marcar assemblies com ComVisibleAttribute

Property Valor
ID da regra CA1017
Título Marcar assemblies com ComVisibleAttribute
Categoria Projetar
Correção interruptiva ou sem interrupção Sem interrupção
Habilitado por padrão no .NET 10 Não

Causa

Um assembly não tem o atributo System.Runtime.InteropServices.ComVisibleAttributeaplicado a ele.

Descrição da regra

O ComVisibleAttribute atributo determina como os clientes COM acessam o código gerenciado. Um bom design determina que os assemblies indiquem explicitamente a visibilidade de COM. A visibilidade COM pode ser definida para um assembly inteiro e, em seguida, substituída por tipos individuais e membros de tipo. Caso esse atributo não esteja presente, o conteúdo do assembly permanece visível aos clientes COM.

Como corrigir violações

Para corrigir uma violação dessa regra, adicione o atributo ao assembly. Se você não quiser que o assembly fique visível para clientes COM, aplique o atributo e defina seu valor como false.

Quando suprimir avisos

Não suprima um aviso nessa regra. Se você quiser que o assembly fique visível, aplique o atributo e defina seu valor como true.

Exemplo

O exemplo a seguir mostra um assembly que tem o ComVisibleAttribute atributo aplicado para impedir que ele seja visível para clientes COM.

<Assembly: System.Runtime.InteropServices.ComVisible(False)>
Namespace DesignLibrary
End Namespace
[assembly: System.Runtime.InteropServices.ComVisible(false)]
namespace DesignLibrary {}

Confira também