Freigeben über


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 9 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

Siehe auch