通过


CA1017:用 ComVisibleAttribute 标记程序集

属性
规则 ID CA1017
标题 用 ComVisibleAttribute 标记程序集
类别 设计
修复会引起中断还是不会引起中断 非中断
在 .NET 10 中默认启用
适用的语言 C# 和 Visual Basic

原因

程序集没有应用 System.Runtime.InteropServices.ComVisibleAttribute 属性。

规则说明

ComVisibleAttribute 属性确定 COM 客户端如何访问托管代码。 良好的设计原则要求程序集明确指出 COM 可见性。 可以为整个程序集设置 COM 可见性,然后对各个类型和类型成员覆盖其 COM 可见性。 如果此属性不存在,则程序集的内容对 COM 客户端可见。

如何解决违规

若要解决此规则的冲突,请将该属性添加到程序集。 如果你不希望程序集对 COM 客户端可见,请应用该属性并将其值设置为 false

何时禁止显示警告

不要抑制此规则发出的警告。 如果希望程序集可见,请应用该属性并将其值设置为 true

示例

下面的示例演示一个应用了 ComVisibleAttribute 属性的程序集,以防止其对 COM 客户端可见。

<Assembly: System.Runtime.InteropServices.ComVisible(False)>
Namespace DesignLibrary
End Namespace
[assembly: System.Runtime.InteropServices.ComVisible(false)]
namespace DesignLibrary {}

请参阅