Partilhar via


CA1017: Marcar assemblies com ComVisibleAttribute

Propriedade valor
ID da regra CA1017
Título Marcar assemblies com ComVisibleAttribute
Categoria Desenho
A correção causa interrupção ou não Ininterrupto
Habilitado por padrão no .NET 10 Não
Línguas aplicáveis C# e Visual Basic

Motivo

Uma montagem não tem o atributo System.Runtime.InteropServices.ComVisibleAttribute aplicado a ela.

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 desta regra, adicione o atributo à assemblagem. 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