Partilhar via


CA1017: Marcar assemblies com ComVisibleAttribute

Property valor
ID da regra CA1017
Título Marcar assemblies com ComVisibleAttribute
Categoria Desenho
A correção está quebrando ou não quebrando Sem quebra
Habilitado por padrão no .NET 8 Não

Motivo

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

Descrição da regra

O ComVisibleAttribute atributo determina como os clientes COM acessam o código gerenciado. Um bom design dita que as montagens indiquem explicitamente a visibilidade COM. A visibilidade COM pode ser definida para um conjunto inteiro e, em seguida, substituída para tipos individuais e membros do tipo. Se o atributo não estiver presente, o conteúdo do assembly será visível para 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 desta regra. Se desejar 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 {}

Consulte também