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