Compartilhar via


CA1017: Marcar assemblies com ComVisibleAttribute

Propriedade Valor
ID da regra CA1017
Título Marcar assemblies com ComVisibleAttribute
Categoria Design
Correção interruptiva ou sem interrupção Inquebrável
Habilitado por padrão no .NET 10 Não
Idiomas aplicáveis C# e Visual Basic

Causa

Um assembly não tem o atributo System.Runtime.InteropServices.ComVisibleAttribute aplicado 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 conjuntos indiquem explicitamente a visibilidade 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