共用方式為


適用於 Managed 程式碼的 Managed 建議規則規則集

您可以使用「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

必須將有弱點的 finally 子句包裝在外層 try 中

CA2126

必須同時具有型別連結要求和繼承要求

CA2131

安全性關鍵型別可能未參與型別等價

CA2132

預設建構函式至少必須和基底型別的預設建構函式一樣關鍵

CA2133

委派必須繫結至透明度一致的方法

CA2134

覆寫基底方法時,方法必須保持一致的透明度

CA2137

透明方法必須只包含可驗證的 IL

CA2138

透明方法不可以使用 SuppressUnmanagedCodeSecurity 屬性呼叫方法

CA2140

透明程式碼不可以參考安全性關鍵項目

CA2141

透明方法不可以滿足 LinkDemand

CA2146

型別至少必須和基底型別與介面一樣關鍵

CA2147

透明的方法不可以使用安全性判斷提示

CA2149

透明方法不可以呼叫機器碼

CA2200

請重新擲回以保存堆疊詳細資料

CA2202

不要多次處置物件

CA2207

必須初始化實值型別的靜態內嵌欄位

CA2212

不要以 WebMethod 標記 Serviced 元件

CA2213

可處置的欄位應該受到處置

CA2214

不要呼叫建構函式中的可覆寫方法

CA2216

可處置型別應該宣告完成項

CA2220

完成項應該呼叫基底類別完成項

CA2229

請實作序列化建構函式

CA2231

覆寫 ValueType.Equals 時必須一併多載等號比較運算子

CA2232

以 STAThread 標記 Windows Form 進入點

CA2235

必須標記所有不可序列化的欄位

CA2236

必須呼叫 ISerializable 型別上的基底類別方法

CA2237

必須以 SerializableAttribute 標記 ISerializable 型別

CA2238

請正確實作序列化方法

CA2240

必須正確實作 ISerializable

CA2241

必須提供格式化方法的正確引數

CA2242

必須正確地測試 NaN