コーディングガイドラインの遵守のために自動チェックを導入しようとしてちょっとはまったのでメモ。
FxCop のカスタムルールの作り方
http://koty.hatenablog.com/entry/20110316/1300281453 とかを参照して適当に作る。
ただし、いろいろめんどい決まりごとがある。
- BaseIntrospectionRuleを継承したクラスのコンストラクタで、基底クラスのコンストラクタを呼ぶときの第2引数に「Namespace.RuleXMLFilename」を渡してやる
- x86でコンパイルする
- Framework バージョンはわかんない。適当に4.0でいけたような・・・
- 出来上がった DLL を FxCop のディレクトリの下の Rules 以下に置く
1番目と2番目がなかなかトラップ。
StyleCop のカスタムルールの作り方
http://scottwhite.blogspot.jp/2008/11/creating-custom-stylecop-rules-in-c.html とかを参照して適当に作る。
ただし、こっちもトラップが色々。
- ルールを記載した XML ファイルの名前を、クラス名と一致させる
- Framework バージョンは3.5にする
- Any CPUでビルドする
このうちの3つ目がわからなくてはまった。Program Files(x86)にインストールするんだから、x86 かと思っちゃうじゃないか・・・