Last-modified: 2016-05-27 (金) 17:51:35 (2883d)

 .TestDevPartnerのような高価なツールを使わなくても、FxCopを使えばILの静的コード解析が可能です。

Visual Studio との統合

FxCop_in_VS.jpg
  1. メニューの[ツール]から[外部ツール]を選択。
  2. 外部ツール登録ダイアログの各項目にそれぞれ以下の値を入力。
    • [タイトル]に「FxCop
    • [コマンド]に「C:\Program Files\Microsoft FxCop 1.36\FxCopCmd.exe」
    • [引数]に「/f:$(TargetPath) /r:"C:\Program Files\Microsoft FxCop 1.36\Rules" /c /d:$(ProjectDir)\bin /gac /igc」
      • 「/d」オプションは、参照DLLがあるフォルダを必要に応じて指定する。
    • [初期ディレクトリ]に「$(ProjectDir)」
    • [出力ウィンドウを使用]をチェック
  3. で、メニューの[ツール]から[FxCop]を選択することで、ILの静的コード解析が実行され、結果が出力ウィンドウに表示されます。

 ただし、Visual Studioでは

  1. 解析結果の除外ができない。
  2. エラー内容から、MSDNの関連ページを開けない。
    など、FxCopアプリ単体実行時よりも機能的に劣る部分があります。

ソースの記述で解析を除外する方法

  1. 対象プロジェクトの「条件付きコンパイルシンボル」に「CODE_ANALYSIS」を追加します。
  2. FxCopのWindowsアプリで解析結果を右クリックし、[Copy As] - [Suppress Message]を選択すると、その解析結果を除外するためのコードがClipboardに登録されます。
  3. Clipboardの内容を、ソースコードの該当箇所(Scopeに依って、該当メソッドだったりAssemblyInfo.csアセンブリだったり)に貼り付けます。

カスタムルールの作成

  • 作ってみました。
  • ややハマリそうだったのは、「{規定の名前空間}.{埋込XMLファイル名}」=「アセンブリ名」という規約があること。

添付ファイル: fileFxCop_in_VS.jpg 2375件 [詳細]

トップ   編集 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS