Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
| Eigenschap | Waarde |
|---|---|
| Regel-id | CA1016 |
| Titel | Assemblages markeren met AssemblyVersionAttribute |
| Categorie | Ontwerpen |
| Fix kan brekend of niet-brekend zijn | Niet-brekend |
| Standaard ingeschakeld in .NET 10 | Als suggestie |
| Toepasselijke talen | C# en Visual Basic |
Oorzaak
De assembly heeft geen versienummer.
Beschrijving van regel
De identiteit van een assembly bestaat uit de volgende informatie:
Assembly-naam
Versienummer
Cultuur
Openbare sleutel (voor sterk benoemde assemblies).
.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.
Hoe schendingen op te lossen
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
Onderdruk geen waarschuwing van deze regel voor assemblages die door derden worden gebruikt of zich in een productieomgeving bevinden.
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 voor meer informatie Hoe codeanalysewaarschuwingen te onderdrukken.
Voorbeeld
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