Visual Studio 2010 コード分析新機能 (2) 新ルール

Visual Studio 2010 のコード分析には、次のルールが新たに追加されるそうだ。従来のコードアクセスセキュリティがデフォルト off になり、セキュリティ透過性モデルレベル 2 が導入されたので、セキュリティ関係のルールがかなりたくさん追加されている。

 

CA1062

public メソッドに渡された引数の null チェックを行う

CA1303

ローカライズ可能にすべき引数には文字列リテラルを指定しない

CA2000

Dispose 可能なオブジェクトはスコープを失う前に破棄する

CA2100

セキュリティ上の脆弱性の観点から SQL クエリを再確認する

CA2130

定数に SecurityCritical 属性を付加しない

CA2131

型の同値 (type equivalence) に参加する型や、そのメンバーに SecurityCritical 属性を付加しない

CA2132

デフォルトコンストラクタには、少なくとも基底クラスのデフォルトコンストラクタと同じセキュリティ透過属性を付加する

CA2133

デリゲートとバインド対象のメソッドのセキュリティ透過レベル (という言い方でいいのだろうか...) を一致させる

CA2134

オーバーライドメソッドのセキュリティ透過レベルは、基底クラスのものと一致させる

CA2135

セキュリティ透過レベル 2 のアセンブリにはリンク確認要求を含めない

CA2136

従来のコードアクセスセキュリティモデルとセキュリティ透過モデルとで、矛盾した属性をメンバーに付加しない

CA2137

セキュリティ透過なメソッドには検証可能な IL だけを含める

CA2138

セキュリティ透過なメソッドから SuppressUnmanagedCodeSecurity 属性が付加されたメソッドを呼び出さない

CA2139

セキュリティ透過なメソッドに HandleProcessCorruptingExceptions 属性を付加しない

CA2140

セキュリティ透過なコードからセキュリティクリティカルな型やメソッドなどを使わない

CA2141

セキュリティ等価なメソッドから、リンク確認要求で保護されたメンバーを使用しない (直訳すると「セキュリティ等価なメソッドではリンク確認要求を満たさない」になるが、MSDN の説明を読む限り、この訳の方が適している気がする)

CA2142

セキュリティ透過なコードをリンク確認要求で保護しない

CA2143

セキュリティ透過なメソッドでセキュリティ確認要求を行わない

CA2144

セキュリティ透過なコードで、バイト配列からのアセンブリロードを行わない

CA2145

セキュリティ透過なメソッドに SuppressUnmanagedCodeSecurity 属性を付加しない

CA2146

型には、少なくとも基底型や実装しているインターフェースと同じセキュリティ透過属性を付加する

CA2147

セキュリティ透過なメソッドでセキュリティアサートを行わない

CA2149

セキュリティ透過なメソッドからネイティブコードを呼び出さない

CA2202

Dispose 可能なオブジェクトを複数回破棄しない

CA2204

リテラルを正しくスペリングする

CA2215

Dispose メソッドから基底クラスの Dispose メソッドを呼び出す

CA2241

フォーマット文字列のプレースホルダと引数の数を一致させる

Comments

Popular posts from this blog

TFS: 別PCでのチェックアウトを取り消す

WPF の RichTextBox に文字列を設定する&取り出す

WPFアプリにアニメーションGIFを表示させる