Share via


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

Se även