Compartilhar via


CA1017: Marcar assemblies com ComVisibleAttribute

TypeName

MarkAssembliesWithComVisible

CheckId

CA1017

<strong>Categoria</strong>

Microsoft.design

Alteração significativa

Não-separável

Causa

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

Descrição da regra

O ComVisibleAttribute atributo determina como clientes COM acessam a código gerenciado.Um bom design dita que os assemblies indicam explicitamente a visibilidade de COM.Visibilidade de COM pode ser definida para um assembly inteiro e, então, substituída para tipos individuais e membros de tipo.Se o atributo não estiver presente, o conteúdo do assembly é visível para clientes COM.

Como corrigir violações

Para corrigir uma violação desta regra, adicione o atributo para o assembly.Se você não quiser que o assembly a ser visíveis aos clientes COM, aplicar o atributo e defina seu valor como false.

Quando suprimir avisos

Não suprimir um aviso da regra.Se desejar que o assembly devem ficar visíveis, aplicar o atributo e defina seu valor como true.

Exemplo

O exemplo a seguir mostra um conjunto que possui o ComVisibleAttribute atributo aplicado para evitar que ele fique visível para clientes COM.

Imports System

<Assembly: System.Runtime.InteropServices.ComVisible(False)>
Namespace DesignLibrary
End Namespace
using System;

[assembly: System.Runtime.InteropServices.ComVisible(false)]
namespace DesignLibrary {}
using namespace System;

[assembly: System::Runtime::InteropServices::ComVisible(false)];
namespace DesignLibrary {}

Consulte também

Conceitos

Qualificação.NET tipos de interoperação

Outros recursos

Interoperar com código não gerenciado