Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
| Propriedade | valor |
|---|---|
| ID da regra | CA1017 |
| Título | Marcar assemblies com ComVisibleAttribute |
| Categoria | Desenho |
| A correção causa interrupção ou não | Ininterrupto |
| Habilitado por padrão no .NET 10 | Não |
| Línguas aplicáveis | C# e Visual Basic |
Motivo
Uma montagem não tem o atributo System.Runtime.InteropServices.ComVisibleAttribute aplicado a ela.
Descrição da regra
O ComVisibleAttribute atributo determina como os clientes COM acessam o código gerenciado. Um bom design dita que as montagens indiquem explicitamente a visibilidade COM. A visibilidade COM pode ser definida para um conjunto inteiro e, em seguida, substituída para tipos individuais e membros do tipo. Se o atributo não estiver presente, o conteúdo do assembly será visível para clientes COM.
Como corrigir violações
Para corrigir uma violação desta regra, adicione o atributo à assemblagem. Se você não quiser que o assembly fique visível para clientes COM, aplique o atributo e defina seu valor como false.
Quando suprimir avisos
Não suprima um aviso desta regra. Se desejar que o assembly fique visível, aplique o atributo e defina seu valor como true.
Exemplo
O exemplo a seguir mostra um assembly que tem o ComVisibleAttribute atributo aplicado para impedir que ele seja visível para clientes COM.
<Assembly: System.Runtime.InteropServices.ComVisible(False)>
Namespace DesignLibrary
End Namespace
[assembly: System.Runtime.InteropServices.ComVisible(false)]
namespace DesignLibrary {}