CA1016: Contrassegnare gli assembly con AssemblyVersionAttribute

Proprietà valore
ID regola CA1016
Title Contrassegnare gli assembly con AssemblyVersionAttribute
Categoria Progettazione
Correzione che causa un'interruzione o un'interruzione Nessuna interruzione
Abilitato per impostazione predefinita in .NET 8 Come suggerimento

Causa

L'assembly non ha un numero di versione.

Descrizione regola

L'identità di un assembly è costituita dalle informazioni seguenti:

  • Nome assembly

  • Numero versione

  • Cultura

  • Chiave pubblica (per assembly con nome sicuro).

.NET usa il numero di versione per identificare in modo univoco un assembly e per eseguire l'associazione ai tipi in assembly con nome sicuro. Il numero di versione viene utilizzato insieme ai criteri di versione ed editore. Per impostazione predefinita, le applicazioni vengono eseguite solo con la versione di assembly con cui sono state compilate.

Come correggere le violazioni

Per correggere una violazione di questa regola, aggiungere un numero di versione all'assembly usando l'attributo System.Reflection.AssemblyVersionAttribute .

Quando eliminare gli avvisi

Non eliminare un avviso da questa regola per gli assembly utilizzati da terze parti o in un ambiente di produzione.

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 CA1016
// The code that's violating the rule is on this line.
#pragma warning restore CA1016

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.CA1016.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 AssemblyVersionAttribute applicato.

using System;
using System.Reflection;

[assembly: AssemblyVersionAttribute("4.3.2.1")]
namespace DesignLibrary {}
<Assembly: AssemblyVersionAttribute("4.3.2.1")>
Namespace DesignLibrary
End Namespace

Vedi anche