托管代码的“托管建议规则”规则集

可以使用托管 Microsoft 建议规则 " 规则集侧重于您的托管代码的最重要的问题,包括潜在的安全漏洞,应用程序崩溃和其他重要的逻辑和设计错误。 在设置的任何自定义规则集应加入此规则集为项目创建。

规则

说明

CA1001

类型拥有一次性字段应为可释放的

CA1009

正确声明事件处理程序

CA1016

使用标记 AssemblyVersionAttribute 的程序集

CA1033

接口方法应是可调用的由子类型

CA1049

类型拥有本机资源应是一次性的

CA1060

移动 P/Invokes 移到 NativeMethods 类

CA1061

不要隐藏了基类方法

CA1063

正确实现 IDisposable

CA1065

不要在意外的位置引发异常。

CA1301

避免重复快捷键

CA1400

P/Invoke 入口点应存在

CA1401

P/Invokes 不应可见

CA1403

自动布局类型不应是可见的 COM

CA1404

对 P/Invoke 后的 GetLastError

CA1405

COM 可见的类型基础类型应当可见的 COM

CA1410

COM 应与注册方法

CA1415

正确声明 P/Invokes

CA1821

移除空的终结器

CA1900

值类型字段应为可移植

CA1901

P/Invoke 声明应可移植

CA2002

不在对象的锁。弱标识

CA2100

检查安全漏洞的 SQL 查询

CA2101

封送指定 P/Invoke 字符串参数的

CA2108

在值类型的声明性安全检查

CA2111

指针不应可见

CA2112

受保护的类型不应显示字段

CA2114

方法安全应为类型扩展

CA2116

APTCA 方法只应调用 APTCA 方法

CA2117

APTCA 类型只应扩展 APTCA 基类型

CA2122

不要取消显示链接要求的方法

CA2123

重写链接要求应与中的基础

CA2124

在外部尝试的换行易受攻击的最后子句

CA2126

键入链接要求继承要求

CA2131

安全关键类型不能参与类型等效

CA2132

默认构造函数必须至少具有重要的与基类型默认构造函数

CA2133

委托必须绑定到具有一致的透明度的方法

CA2134

,并重写基方法时,方法必须保持一致的透明度

CA2137

透明方法必须只包含可验证的 IL

CA2138

透明方法不能调用使用 SuppressUnmanagedCodeSecurity 属性的方法

CA2140

透明代码不能引用安全关键项目

CA2141

透明方法不能满足 Linkdemand

CA2146

类型必须至少具有重要的与它们的基类型约束和接口

CA2147

透明方法不能使用安全断言

CA2149

透明方法不能调用到本机代码

CA2200

保留堆栈详细信息的重新

CA2202

不要配置对象多次

CA2207

初始化值类型静态字段内联

CA2212

不要用 WebMethod 的服务组件

CA2213

应配置一次性字段

CA2214

不要对构造函数的可重写的方法

CA2216

一次性类型应声明终结器

CA2220

终结器应调用基类终结器

CA2229

实现序列化构造函数

CA2231

重载在重写 ValueType.Equals 的相等运算符

CA2232

标记窗口入学人数表点与 STAThread

CA2235

标记所有非可序列化字段

CA2236

调用了 ISerializable 类型的基类方法

CA2237

用 SerializableAttribute 的实现 ISerializable 类型

CA2238

正确执行序列化方法

CA2240

正确实现 ISerializable

CA2241

提供正确的参数传递给格式的方法

CA2242

正确测试 Nan