CA1016: помечать сборки атрибутом AssemblyVersionAttribute

Свойство Значение
Идентификатор правила CA1016
Заголовок Пометьте сборки с помощью AssemblyVersionAttribute
Категория Проектирование
Исправление является критическим или не критическим Не критическое
Включен по умолчанию в .NET 8 Как предложение

Причина

Сборка не имеет номера версии.

Описание правила

Удостоверение сборки состоит из следующих сведений:

  • Имя сборки

  • Номер версии

  • Культура

  • Открытый ключ (для сборок со строгими именами).

.NET использует номер версии для уникальной идентификации сборки и привязки к типам в сборках со строгими именами. Номер версии используется наряду с политикой версий и издателя. По умолчанию приложения выполняются только с версией сборки, которая использовалась для их построения.

Устранение нарушений

Чтобы устранить нарушение этого правила, добавьте номер версии в сборку с помощью атрибута System.Reflection.AssemblyVersionAttribute.

Когда лучше отключить предупреждения

Не отключайте предупреждение из этого правила для сборок, которые используются сторонними участниками или в рабочей среде.

Отключение предупреждений

Если вы просто хотите отключить одно нарушение, добавьте директивы препроцессора в исходный файл, чтобы отключить и повторно включить правило.

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

Чтобы отключить правило для файла, папки или проекта, задайте его серьезность none в файле конфигурации.

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

Дополнительные сведения см. в разделе Практическое руководство. Скрытие предупреждений анализа кода.

Пример

В следующем примере показана сборка с примененным атрибутом AssemblyVersionAttribute.

using System;
using System.Reflection;

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

См. также