Delen via


CA1016: Assembly's markeren met AssemblyVersionAttribute

Eigenschappen Weergegeven als
Regel-id CA1016
Titel Assembly's markeren met AssemblyVersionAttribute
Categorie Ontwerpen
Oplossing is brekend of niet-brekend Niet-brekend
Standaard ingeschakeld in .NET 8 Als suggestie

Oorzaak

De assembly heeft geen versienummer.

Beschrijving van regel

De identiteit van een assembly bestaat uit de volgende informatie:

  • Assemblynaam

  • Versienummer

  • Cultuur

  • Openbare sleutel (voor sterk benoemde assembly's).

.NET gebruikt het versienummer om een assembly uniek te identificeren en te binden aan typen in sterk benoemde assembly's. Het versienummer wordt samen met versie- en uitgeversbeleid gebruikt. Toepassingen worden standaard alleen uitgevoerd met de assemblyversie waarmee ze zijn gebouwd.

Schendingen oplossen

Als u een schending van deze regel wilt oplossen, voegt u een versienummer toe aan de assembly met behulp van het System.Reflection.AssemblyVersionAttribute kenmerk.

Wanneer waarschuwingen onderdrukken

Onderdrukt geen waarschuwing van deze regel voor assembly's die door derden of in een productieomgeving worden gebruikt.

Een waarschuwing onderdrukken

Als u slechts één schending wilt onderdrukken, voegt u preprocessorrichtlijnen toe aan uw bronbestand om de regel uit te schakelen en vervolgens opnieuw in te schakelen.

#pragma warning disable CA1016
// The code that's violating the rule is on this line.
#pragma warning restore CA1016

Als u de regel voor een bestand, map of project wilt uitschakelen, stelt u de ernst none ervan in op het configuratiebestand.

[*.{cs,vb}]
dotnet_diagnostic.CA1016.severity = none

Zie Codeanalysewaarschuwingen onderdrukken voor meer informatie.

Opmerking

In het volgende voorbeeld ziet u een assembly waarop het AssemblyVersionAttribute kenmerk is toegepast.

using System;
using System.Reflection;

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

Zie ook