CA1014. Пометьте сборки с помощью CLSCompliantAttribute

Элемент Значение
Идентификатор правила CA1014
Категория Оформление
Исправление является критическим или не критическим Не критическое

Причина

К сборке не применен атрибут System.CLSCompliantAttribute.

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

Спецификация среды CLS определяет ограничения по именованию, типам данных и правилам, которым должны соответствовать сборки, предназначенные для использования в нескольких языках программирования. Для всех сборок рекомендуется явным образом указывать совместимость с CLS с помощью атрибута CLSCompliantAttribute. Если этот атрибут у сборки отсутствует, сборка не совместима.

CLS-совместимая сборка может содержать типы или члены типов, которые не соответствуют требованиям.

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

Чтобы устранить нарушение этого правила, добавьте атрибут в сборку. Вместо того, чтобы помечать всю сборку как несоответствующую, следует определить, какой тип или члены типа не соответствуют требованиям, и пометить только эти элементы. По возможности следует предоставить CLS-совместимую альтернативу для несоответствующих членов, чтобы как можно больше пользователей могли использовать все функциональные возможности сборки.

Условия для отключения предупреждений

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

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

Существует несколько способов скрыть предупреждения анализа кода, в том числе отключение правила для проекта, использование директивы препроцессора, чтобы отключить его для конкретной строки кода, или применение атрибута SuppressMessageAttribute. Дополнительные сведения см. в разделе Практическое руководство. Скрытие предупреждений анализа кода.

Пример

В следующем примере показана сборка с примененным атрибутом System.CLSCompliantAttribute, который объявляет ее CLS-совместимой.

[assembly:CLSCompliant(true)]
namespace DesignLibrary {}
<assembly:CLSCompliant(true)>
Namespace DesignLibrary
End Namespace

См. также раздел