Помечайте сборки атрибутом CLSCompliantAttribute
Обновлен: Ноябрь 2007
TypeName |
MarkAssembliesWithClsCompliant |
CheckId |
CA1014 |
Категория |
Microsoft.Design |
Критическое изменение |
Не критическое |
Причина
К сборке не применен атрибут System.CLSCompliantAttribute.
Описание правила
Спецификация среды CLS определяет ограничения по именованию, типам данных и правилам, которым должны соответствовать сборки, используемые в нескольких языках программирования. Для всех сборок нужно явным образом указывать совместимость с CLS, для этого служит атрибут CLSCompliantAttribute. Если атрибут отсутствует у сборки, она не является совместимой.
Сборка, совместимая с CLS, может содержать несовместимые типы или члены типов.
Предотвращение нарушений
Чтобы устранить нарушение этого правила, добавьте атрибут к сборке. Вместо того, чтобы помечать всю сборку как несовместимую, нужно определить, какие типы или члены типов не являются совместимыми и пометить их. Если это возможно, то для всех несовместимых членов следует предоставить замену, совместимую с CLS,
Отключение предупреждений
Не следует отключать вывод предупреждений для этого правила. Если не требуется, чтобы сборка была совместимой, примените этот атрибут и установите для него значение false.
Пример
В следующем примере кода показана сборка с атрибутом System.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 {}