用 CLSCompliantAttribute 标记程序集

更新:2007 年 11 月

TypeName

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