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 {}

Consulte também

Referência

System.CLSCompliantAttribute

Conceitos

CLS (Common Language Specification)