2011-07-11 14 views
3

C#コンポーネントにはCODE_ANALYSISが定義されており、開発ボックスにFxCopを組み込んだときにFxCopで解析されます。 FxCopがビルドシステムを実行するときにオフにしたいと思います。ビルドシステムは、明らかにmsbuild.exeコマンドラインコマンドを使用しています。この実行可能ファイルから条件付きコンパイルシンボルを変更する方法はありますか?そうでない場合は、私の問題に対する他の解決策を知っている人はいませんか?msbuild.exeコマンドラインから条件付きコンパイルシンボルを無効にすることはできますか?

ありがとうございました。

答えて

5

CODE_ANALYSISコンパイルシンボルは、コードに含まれるSuppressMessageAttributeインスタンスをコンパイル済みアセンブリにコピーするかどうかを制御します。 FxCopを実行するかどうかは制御しません。 RunCodeAnalysis(MSBuildでFxCopを実行するかどうかを制御するBeastie)のようなプロジェクトレベルのMSBuildプロパティをオーバーライドする場合は、MSBuild.exe /プロパティコマンドラインスイッチを使用できるはずです。例:

msbuild.exe <...> /property:RunCodeAnalysis=true 
+0

私たちは実際にFxCopを起動するポストビルドコマンドを使用していることが分かりました。それにもかかわらず、あなたは答えが役に立ちました。ありがとうございました。 – blachniet

0

なぜオフにする必要がありますか?プロジェクトを設定する最良の方法は、デバッグ構成用にのみCODE_ANALYSISを定義することです。リリースバージョンにはこの値が設定されません。そうすれば、プロダクションインストールをビルドするときに、FxCopへの参照がなくなります。

関連する問題