Compartilhar via


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

Consulte também

Referência

System.CLSCompliantAttribute

Conceitos

Especificação da linguagem comum