Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
| Proprietà | valore |
|---|---|
| ID regola | CA1014 |
| Title | Contrassegnare gli assembly con CLSCompliantAttribute |
| Categoria | Progettazione |
| La correzione causa un'interruzione o meno | Non rompente |
| Abilitato per impostazione predefinita in .NET 10 | No |
| Linguaggi applicabili | C# e Visual Basic |
Causa
A un assembly non è applicato l'attributo System.CLSCompliantAttribute .
Descrizione 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. Una buona progettazione impone che tutti gli assembly indichino in modo esplicito la conformità al CLS con CLSCompliantAttribute. Se l'attributo non è presente in un assembly, l'assembly non è conforme.
È possibile che un assembly conforme a CLS contenga tipi o membri di tipo non conformi.
Come correggere le violazioni
Per correggere una violazione di questa regola, aggiungere l'attributo all'assembly. Invece di contrassegnare l'intero assembly come non conforme, è necessario determinare il tipo o i membri del tipo non conformi e contrassegnare tali elementi come tali. Se possibile, è necessario fornire un'alternativa conforme a CLS per i membri non conformi in modo che il pubblico più ampio possibile possa accedere a tutte le funzionalità dell'assembly.
Quando eliminare gli avvisi
Non sopprimere un avviso da questa regola. Se non desideri che l'assembly sia conforme, applica l'attributo e impostalo su false.
Eliminare un avviso
Se si vuole eliminare una singola violazione, aggiungere direttive del preprocessore al file di origine per disabilitare e quindi riabilitare la regola.
#pragma warning disable CA1014
// The code that's violating the rule is on this line.
#pragma warning restore CA1014
Per disabilitare la regola per un file, una cartella o un progetto, impostarne la gravità none su nel file di configurazione.
[*.{cs,vb}]
dotnet_diagnostic.CA1014.severity = none
Per altre informazioni, vedere Come eliminare gli avvisi di analisi del codice.
Esempio
Nell'esempio seguente viene illustrato un assembly con l'attributo System.CLSCompliantAttribute applicato che lo dichiara conforme a CLS.
[assembly:CLSCompliant(true)]
namespace DesignLibrary {}
<assembly:CLSCompliant(true)>
Namespace DesignLibrary
End Namespace