FxCopについてのメモ
現在のバージョンは1.35。1.36はBeta。
FxCopとはCIL(Common Intermediate Language)を解析してデザイン、ローカリゼーション、パフォーマンス、セキュリティの観点からレポートを出力するツールである。
Visual Studioだか、SDKだかをインストールした拍子にすでにFxCopがインストールされている可能性が高いので、インストールする前にC:Program FilesMicrosoft FxCop 1.35というフォルダを確認したほうがいい。
Visual StudioのTeam Systemであれば、日本語化されたマネージコード分析と呼ばれるFxCopを使うこともできる。
具体的にどのような項目がチェックされるのかは、以下のもの。
- デザイン上の警告
- グローバリゼーションの警告
- 相互運用性の警告
- モビリティの警告
- 名前付けの警告
- パフォーマンスの警告
- 移植性に関する警告
- 信頼性の警告
- セキュリティの警告
- 使用方法の警告
MSDN > MSDN ライブラリ > 開発ツールと言語ドキュメント > Visual Studio 2008 > Visual Studio Team System > Development Edition > 高品質なコードの作成 > マネージ コード障害の検出と修正 > マネージ コードの警告に対応するコードの解析
に詳しく出ている。
Visual Studio 2008 Professionalでは、デフォルトではセットアップされていないので、以下のとおりセットアップ。
Visual Studioのメニューの「ツール」->「外部ツール」を選択
「追加」ボタンを押して、
タイトル : FxCop
コマンド : C:Program FilesMicrosoft FxCop 1.35FxCopCmd.exe
引数 : /c /f:$(TargetPath) /r:"C:Program FilesMicrosoft FxCop 1.35Rules"
初期ディレクトリ : "C:Program FilesMicrosoft FxCop 1.35"
出力ウィンドウを使用 : チェックを入れる
これでVisual Studioのメニューの「ツール」に「FxCop」という項目が追加された。
あとはプロジェクトが開いた状態で、こいつを選択すれば、FxCopが走って、いろいろ解析、警告してくれる。
解析の項目を選択する場合は、C:Program FilesMicrosoft FxCop 1.35fxcop.exeを起動して、Ruleタブから選択。プロジェクトを保存。
さきほどの「外部ツール」の設定での引数を
引数 : /c /f:$(TargetPath) /p:"C:保存したプロジェクトファイル"
のように指定する。
詳しい説明は、「豆魂」の「VisualStudio2005とFxCopを利用した静的コード分析」
ちょっと厳しすぎるような気もするけど、プロダクトリリースを考えたら、まあこんなもんかな。
あと、ビルドよりも圧倒的に時間がかかるので、実際はコードを書きながら、しょっちゅうやるものではなく、チェックインの直前にやるくらい。よって、どのように修正すればいいのかが、なかなか習得が難しい。
あとはソースサーバーとかビルドサーバーで自動でやってもらうんだろうな。