CA1014: помечайте сборки атрибутом CLSCompliantAttribute
TypeName |
MarkAssembliesWithClsCompliant |
CheckId |
CA1014 |
Категория |
Microsoft.Design |
Критическое изменение |
Не критическое |
Причина
К сборке не применен атрибут CLSCompliantAttribute.
Описание правила
Спецификация среды CLS определяет ограничения по именованию, типам данных и правилам, которым должны соответствовать сборки, предназначенные для использования в нескольких языках программирования.Для всех сборок нужно явным образом указывать совместимость с CLS, для этого служит атрибут CLSCompliantAttribute.Если атрибут отсутствует у сборки, она не является совместимой.
Сборка, совместимая с CLS, может содержать несовместимые типы или члены типов.
Устранение нарушений
Чтобы устранить нарушение этого правила, добавьте атрибут к сборке.Вместо того, чтобы помечать всю сборку как несовместимую, нужно определить, какие типы или члены типов не являются совместимыми и пометить их.Если это возможно, то для всех несовместимых членов следует предоставить замену, совместимую с CLS.
Отключение предупреждений
Для этого правила отключать вывод предупреждений не следует.Если не требуется, чтобы сборка была совместимой, примените этот атрибут и установите для него значение false.
Пример
В следующем примере кода показана сборка с атрибутом CLSCompliantAttribute, объявляющим ее совместимой с CLS.
Imports System
<assembly:CLSCompliant(true)>
Namespace DesignLibrary
End Namespace
using System;
[assembly:CLSCompliant(true)]
namespace DesignLibrary {}
using namespace System;
[assembly:CLSCompliant(true)];
namespace DesignLibrary {}