CA1016: Assemblys mit AssemblyVersionAttribute markieren.
Eigenschaft | Wert |
---|---|
Regel-ID | CA1016 |
Titel | Assemblys mit AssemblyVersionAttribute markieren. |
Kategorie | Design |
Fix führt oder führt nicht zur Unterbrechung | Nicht unterbrechend |
Standardmäßig in .NET 8 aktiviert | Als Vorschlag |
Ursache
Die Assembly hat keine Versionsnummer.
Regelbeschreibung
Die Identität einer Assembly beinhaltet die folgenden Informationen:
Assemblyname
Versionsnummer
Kultur
Öffentlicher Schlüssel (für Assemblys mit starkem Namen).
.NET verwendet die Versionsnummer für die eindeutige Identifizierung einer Assembly und für das Binden an Typen innerhalb von Assemblys mit starkem Namen. Die Versionsnummer wird zusammen mit der Versions- und Herausgeberrichtlinie verwendet. Standardmäßig werden Anwendungen nur mit der Assemblyversion ausgeführt, mit der sie erstellt wurden.
Behandeln von Verstößen
Um einen Verstoß gegen diese Regel zu beheben, fügen Sie der Assembly mithilfe des System.Reflection.AssemblyVersionAttribute-Attributs eine Versionsnummer hinzu.
Wann sollten Warnungen unterdrückt werden?
Bei Assemblys, die von Drittanbietern oder in einer Produktionsumgebung verwendet werden, dürfen Sie Warnungen dieser Regel nicht unterdrücken.
Unterdrücken einer Warnung
Um nur eine einzelne Verletzung zu unterdrücken, fügen Sie der Quelldatei Präprozessoranweisungen hinzu, um die Regel zu deaktivieren und dann wieder zu aktivieren.
#pragma warning disable CA1016
// The code that's violating the rule is on this line.
#pragma warning restore CA1016
Um die Regel für eine Datei, einen Ordner oder ein Projekt zu deaktivieren, legen Sie den Schweregrad in der Konfigurationsdatei auf none
fest.
[*.{cs,vb}]
dotnet_diagnostic.CA1016.severity = none
Weitere Informationen finden Sie unter Vorgehensweise: Unterdrücken von Codeanalyse-Warnungen.
Beispiel
Das folgende Beispiel zeigt eine Assembly, bei der das AssemblyVersionAttribute-Attribut angewendet wurde.
using System;
using System.Reflection;
[assembly: AssemblyVersionAttribute("4.3.2.1")]
namespace DesignLibrary {}
<Assembly: AssemblyVersionAttribute("4.3.2.1")>
Namespace DesignLibrary
End Namespace