CA1014: Assemblies de marca com CLSCompliantAttribute
TypeName |
MarkAssembliesWithClsCompliant |
CheckId |
CA1014 |
<strong>Categoria</strong> |
Microsoft.design |
Alteração significativa |
Não-separável |
Causa
Um assembly não tem o System.CLSCompliantAttribute atributo aplicado ao proprietário.
Descrição da regra
Especificação de linguagem comum (CLS) define as restrições de nomeação, tipos de dados e regras às quais assemblies devem obedecer se eles serão usados em linguagens de programação. Um bom design determina que todos os assemblies indicam explicitamente a compatibilidade com CLS com CLSCompliantAttribute. Se o atributo não estiver presente em um assembly, o assembly não é compatível com.
É possível que um conjunto compatível com CLS para conter tipos ou digitar os membros que não são compatíveis.
Como corrigir violações
Para corrigir uma violação desta regra, adicione o atributo para o assembly. Em vez de marcar o conjunto inteiro como incompatíveis, você deve determinar qual tipo ou membros de tipo não são compatíveis e marcar esses elementos como tal. Se possível, você deve fornecer uma alternativa compatível com CLS para membros não compatíveis para que o maior público possível possa acessar toda a funcionalidade do seu assembly.
Quando suprimir avisos
Não suprimir um aviso da regra. Se você não quiser que o assembly para ser compatível, aplicar o atributo e defina seu valor como false.
Exemplo
O exemplo a seguir mostra um assembly que tem o System.CLSCompliantAttribute atributo aplicado que declara compatível com CLS.
Imports System
<assembly:CLSCompliant(true)>
Namespace DesignLibrary
End Namespace
using System;
[assembly:CLSCompliant(true)]
namespace DesignLibrary {}
using namespace System;
[assembly:CLSCompliant(true)];
namespace DesignLibrary {}