Condividi tramite


CA1014: Contrassegnare gli assembly con CLSCompliantAttribute

TypeName

MarkAssembliesWithClsCompliant

CheckId

CA1014

Category

Microsoft.Design

Breaking Change

Non sostanziale

Causa

A un assembly non è applicato l'attributo System.CLSCompliantAttribute.

Descrizione della regola

In Common Language Specification (CLS) vengono definite limitazioni di denominazione, tipi di dati e regole che gli assembly devono rispettare per poter essere utilizzati tra diversi linguaggi di programmazione. In una buona programmazione tutti gli assembly devono indicare in modo esplicito la conformità CLS all'oggetto CLSCompliantAttribute. Se l'attributo non è presente su un assembly, tale assembly non è conforme.

È possibile che un assembly conforme a CLS contenga tipi o membri di tipi non compatibili.

Come correggere le violazioni

Per correggere una violazione di questa regola, aggiungere l'attributo all'assembly. Anziché contrassegnare l'intero assembly come non conforme, è opportuno determinare quali tipi o membri di tipi non sono conformi e contrassegnarli come tali. Se possibile, è opportuno fornire un'alternativa conforme a CLS per i membri non conformi in modo che il maggior numero possibile di destinatari possa accedere a tutte le funzionalità dell'assembly.

Esclusione di avvisi

Non escludere un avviso da questa regola. Se non si desidera che l'assembly sia conforme, applicare l'attributo e impostare il relativo valore su false.

Esempio

Nell'esempio riportato di seguito viene illustrato un assembly con l'attributo System.CLSCompliantAttribute applicato che lo dichiara come conforme a 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 {}

Vedere anche

Riferimenti

System.CLSCompliantAttribute

Concetti

Common Language Specification