web-dev-qa-db-ja.com

再コンパイルせずにMSBuildにコード分析を実行させる方法

デフォルトでは、コード分析はコンパイルされたプロジェクトに対してのみ実行されます。そのため、コマンドラインからMSBuildを実行すると、コード分析が初めて実行されます。以降の呼び出しでは、コード分析はスキップされます。

背景:CAルールを評価し、ルールをオンにしたときにコードに警告がいくつあるかを確認したいと思います。そのために、すべてを再コンパイルするのではなく(時間がかかります)、コード分析を再実行するだけです。どうすればこれを達成できますか?

Visual Studio2013とMSBuild12.0を使用しています。

コード分​​析を明示的にオンにしても、役に立ちません。

msbuild DesktopBuild.proj /p:RunCodeAnalysis=true
13
Tobias

のようだ

  1. del /s *.lastcodeanalysissucceeded
  2. msbuild DesktopBuild.proj /p:RunCodeAnalysis=true

うまくいくようです。最初のステップでは、コード分析が前の実行を「忘れ」、2番目のステップでは、プロジェクトでコード分析が有効になっていない場合でも、すべてのプロジェクトでコード分析が強制的に実行されます。これを繰り返し実行すると、コンパイル済みのプロジェクトは再度コンパイルされず、コード分析のみが再実行されます。

13
Tobias

プロジェクトファイルでCodeAnalysisGenerateSuccessFilefalseに設定するだけです。

<PropertyGroup>
  <RunCodeAnalysis>true</RunCodeAnalysis>
  <CodeAnalysisGenerateSuccessFile>false</CodeAnalysisGenerateSuccessFile>
</PropertyGroup>
3
Jatin Sanghvi

_FxCopCmd.exe_を使用してみます。通常はC:\Program Files (x86)\Microsoft Visual Studio 12.0\Team Tools\Static Analysis Tools\FxCopにあります。 Visual StudioのCodeAnalysisで使用されるため、適切なパラメーターを使用して使用できるはずです。

2
tdragon