CA1016: Markera sammansättningar med AssemblyVersionAttribute
Property | Värde |
---|---|
Regel-ID | CA1016 |
Title | Markera sammansättningar med AssemblyVersionAttribute |
Kategori | Designa |
Korrigeringen är icke-bakåtkompatibel | Icke-icke-bryta |
Aktiverad som standard i .NET 9 | Som förslag |
Orsak
Sammansättningen har inget versionsnummer.
Regelbeskrivning
Identiteten för en sammansättning består av följande information:
Sammansättningsnamn
Versionsnummer
Kultur
Offentlig nyckel (för starkt namngivna sammansättningar).
.NET använder versionsnumret för att unikt identifiera en sammansättning och binda till typer i starkt namngivna sammansättningar. Versionsnumret används tillsammans med versions- och utgivarprincipen. Som standard körs program endast med den sammansättningsversion som de skapades med.
Så här åtgärdar du överträdelser
Om du vill åtgärda ett brott mot den här regeln lägger du till ett versionsnummer i sammansättningen med hjälp av attributet System.Reflection.AssemblyVersionAttribute .
När du ska ignorera varningar
Utelämna inte en varning från den här regeln för sammansättningar som används av tredje part eller i en produktionsmiljö.
Ignorera en varning
Om du bara vill förhindra en enda överträdelse lägger du till förprocessordirektiv i källfilen för att inaktivera och aktiverar sedan regeln igen.
#pragma warning disable CA1016
// The code that's violating the rule is on this line.
#pragma warning restore CA1016
Om du vill inaktivera regeln för en fil, mapp eller ett projekt anger du dess allvarlighetsgrad till none
i konfigurationsfilen.
[*.{cs,vb}]
dotnet_diagnostic.CA1016.severity = none
Mer information finns i Så här utelämnar du kodanalysvarningar.
Exempel
I följande exempel visas en sammansättning som har attributet AssemblyVersionAttribute tillämpat.
using System;
using System.Reflection;
[assembly: AssemblyVersionAttribute("4.3.2.1")]
namespace DesignLibrary {}
<Assembly: AssemblyVersionAttribute("4.3.2.1")>
Namespace DesignLibrary
End Namespace