CA1017:用 ComVisibleAttribute 标记程序集

属性
规则 ID CA1017
标题 用 ComVisibleAttribute 标记程序集
类别 设计
修复是中断修复还是非中断修复 非中断
在 .NET 8 中默认启用

原因

程序集没有已应用的 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 {}

请参阅