CA1014:用 CLSCompliantAttribute 标记程序集

类型名

MarkAssembliesWithClsCompliant

CheckId

CA1014

类别

Microsoft.Design

是否重大更改

非重大更改

原因

某程序集未应用 System.CLSCompliantAttribute 特性。

规则说明

公共语言规范 (CLS) 定义了程序集在跨编程语言使用时必须符合的命名限制、数据类型和规则。 好的设计要求所有程序集用 CLSCompliantAttribute 显式指示 CLS 符合性。 如果程序集没有该特性,该程序集就不符合 CLS。

符合 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 {}

请参见

参考

System.CLSCompliantAttribute

概念

公共语言规范