CA1017: Assemblies de marca 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 ao proprietário.

Descrição da regra

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

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 assembly que tem o ComVisibleAttribute o atributo aplicado para evitar que ele fique visível para COM os clientes.

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

Interoperação com Código Não Gerenciado