Software

FxCopについてのメモ

MSDN Code Analysis

現在のバージョンは1.35。1.36はBeta

FxCopとはCIL(Common Intermediate Language)を解析してデザイン、ローカリゼーション、パフォーマンス、セキュリティの観点からレポートを出力するツールである。

Visual Studioだか、SDKだかをインストールした拍子にすでにFxCopがインストールされている可能性が高いので、インストールする前にC:\Program Files\Microsoft FxCop 1.35\というフォルダを確認したほうがいい。

Visual StudioのTeam Systemであれば、日本語化されたマネージコード分析と呼ばれるFxCopを使うこともできる。

具体的にどのような項目がチェックされるのかは、以下のもの。

  • デザイン上の警告
  • グローバリゼーションの警告
  • 相互運用性の警告
  • モビリティの警告
  • 名前付けの警告
  • パフォーマンスの警告
  • 移植性に関する警告
  • 信頼性の警告
  • セキュリティの警告
  • 使用方法の警告

MSDN > MSDN ライブラリ > 開発ツールと言語ドキュメント > Visual Studio 2008 > Visual Studio Team System > Development Edition > 高品質なコードの作成 > マネージ コード障害の検出と修正 > マネージ コードの警告に対応するコードの解析

に詳しく出ている。

Visual Studio 2008 Professionalでは、デフォルトではセットアップされていないので、以下のとおりセットアップ。

FxCopSetting

Visual Studioのメニューの「ツール」->「外部ツール」を選択

「追加」ボタンを押して、

タイトル : FxCop
コマンド : C:\Program Files\Microsoft FxCop 1.35\FxCopCmd.exe
引数 : /c /f:$(TargetPath) /r:"C:\Program Files\Microsoft FxCop 1.35\Rules"
初期ディレクトリ : "C:\Program Files\Microsoft FxCop 1.35"
出力ウィンドウを使用 : チェックを入れる

これでVisual Studioのメニューの「ツール」に「FxCop」という項目が追加された。

menu

あとはプロジェクトが開いた状態で、こいつを選択すれば、FxCopが走って、いろいろ解析、警告してくれる。

解析の項目を選択する場合は、C:\Program Files\Microsoft FxCop 1.35\fxcop.exeを起動して、Ruleタブから選択。プロジェクトを保存。

さきほどの「外部ツール」の設定での引数を

引数 : /c /f:$(TargetPath) /p:"C:\保存したプロジェクトファイル"

のように指定する。

詳しい説明は、「豆魂」の「VisualStudio2005とFxCopを利用した静的コード分析

ちょっと厳しすぎるような気もするけど、プロダクトリリースを考えたら、まあこんなもんかな。

あと、ビルドよりも圧倒的に時間がかかるので、実際はコードを書きながら、しょっちゅうやるものではなく、チェックインの直前にやるくらい。よって、どのように修正すればいいのかが、なかなか習得が難しい。

あとはソースサーバーとかビルドサーバーで自動でやってもらうんだろうな。

トラックバック(3)

トラックバックURL: http://www.cagylogic.com/cgi-bin/MovableType/mt-tb.cgi/1454

2009年12月1日から12月31日のアクセス数Top10です。 ... 続きを読む

2009年が終わりました。毎年恒例ですが2009年におけるcagylogicのア... 続きを読む

2009年1月1日から1月31日のアクセス数Top10です。 ... 続きを読む

コメントする

ウェブページ

カテゴリ

アーカイブ

2010年7月

        1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31

このブログ記事について

このページは、が2009年3月12日 00:01に書いたブログ記事です。

ひとつ前のブログ記事は「ReSharper 4.1 Context Actions」です。

次のブログ記事は「StyleCop」です。

最近のコンテンツはインデックスページで見られます。過去に書かれたものはアーカイブのページで見られます。