Freigeben über


CA1016: Assemblies mit AssemblyVersionAttribute markieren.

Eigenschaft Wert
Regel-ID CA1016
Titel Assemblies mit AssemblyVersionAttribute markieren.
Kategorie Design
Fix führt zu Unterbrechungen oder bleibt funktionsfähig Untrennbar
Standardmäßig in .NET 10 aktiviert Als Vorschlag
Anwendbare Sprachen C# und Visual Basic

Ursache

Die Baugruppe 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.

So beheben Sie Verstöße

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?

Unterdrücken Sie nicht die Warnungen dieser Regel bei Assemblys, die von Drittanbietern oder in einer Produktionsumgebung verwendet werden.

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 auf none in der Konfigurationsdatei 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