Compartilhar via


CA1017: marcar assemblies com ComVisibleAttribute

TypeName

MarkAssembliesWithComVisible

CheckId

CA1017

Categoria

Microsoft.Design

Alteração Significativa

Sem quebra

Causa

Um assembly não tenha um atributo de ComVisibleAttribute aplicado a ela.

Descrição da Regra

O atributo de ComVisibleAttribute determina como código gerenciado do acesso de clientes COM.O bom design exige que os assemblies indica explicitamente a visibilidade da.A visibilidade de COM pode ser definida para um assembly inteiro e então ser substituída para tipos e membros individuais do tipo.Se o atributo não estiver presente, o conteúdo do assembly são visíveis aos clientes COM.

Como Corrigir Violações

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

Quando Suprimir Alertas

Não elimine um alerta desta regra.Se você quiser que o assembly seja visível, aplicar o atributo e defina seu valor como true.

Exemplo

O exemplo a seguir mostra um assembly que tem o atributo de ComVisibleAttribute aplicado para impedir que seja 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

Qualificando tipos do .NET para interoperação

Outros recursos

Interoperação com código não gerenciado