CA1014: Marcar assemblies 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 a ele.
Descrição da regra
A especificação de CLS (Common Language) 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 completo não está em conformidade, você deve determinar qual tipo ou membros de tipo não são compatíveis com 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 conjunto que possui o System.CLSCompliantAttribute atributo aplicado que declara-la 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 {}