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