CA1016: Oznacz zestawy za pomocą AssemblyVersionAttribute

Właściwości Wartość
Identyfikator reguły CA1016
Tytuł Oznacz zestawy atrybutem AssemblyVersion
Kategoria Projekt
Poprawka powodująca niezgodność lub niezgodność Niezgodność
Domyślnie włączone na platformie .NET 8 Jako sugestia

Przyczyna

Zestaw nie ma numeru wersji.

Opis reguły

Tożsamość zestawu składa się z następujących informacji:

  • Nazwa zestawu

  • Numer wersji

  • Kultura

  • Klucz publiczny (w przypadku zestawów o silnie nazwanych nazwach).

Platforma .NET używa numeru wersji, aby jednoznacznie zidentyfikować zestaw i powiązać z typami w silnie nazwanych zestawach. Numer wersji jest używany razem z zasadami wersji i wydawcy. Domyślnie aplikacje są uruchamiane tylko z wersji zestawu, z którego zostały zbudowane.

Jak naprawić naruszenia

Aby naprawić naruszenie tej reguły, dodaj numer wersji do zestawu przy użyciu atrybutu System.Reflection.AssemblyVersionAttribute .

Kiedy pomijać ostrzeżenia

Nie pomijaj ostrzeżenia z tej reguły dla zestawów używanych przez osoby trzecie lub w środowisku produkcyjnym.

Pomijanie ostrzeżenia

Jeśli chcesz po prostu pominąć pojedyncze naruszenie, dodaj dyrektywy preprocesora do pliku źródłowego, aby wyłączyć, a następnie ponownie włączyć regułę.

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

Aby wyłączyć regułę dla pliku, folderu lub projektu, ustaw jego ważność na none w pliku konfiguracji.

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

Aby uzyskać więcej informacji, zobacz Jak pominąć ostrzeżenia dotyczące analizy kodu.

Przykład

W poniższym przykładzie pokazano zestaw, który ma AssemblyVersionAttribute zastosowany atrybut.

using System;
using System.Reflection;

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

Zobacz też