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 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 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
Concetti
Indipendenza del linguaggio e componenti indipendenti dal linguaggio