Condividi tramite


Contrassegnare gli assembly con CLSCompliantAttribute

Aggiornamento: novembre 2007

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 è compatibile.

È possibile che un assembly compatibile con CLS contenga tipi o membri di tipi non compatibili.

Correzione di violazioni

Per correggere una violazione di questa regola, aggiungere l'attributo all'assembly. Anziché contrassegnare l'intero assembly come non compatibile, è opportuno determinare quali tipi o membri di tipi non sono compatibili e contrassegnarli come tali. Se possibile, è opportuno fornire un'alternativa compatibile con CLS per i membri non compatibili 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 compatibile, 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 compatibile con 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

Concetti

Specifiche CLS (Common Language Specification)

Riferimenti

System.CLSCompliantAttribute