2010-11-30 14 views
11

This has been askedしかし、回答はありませんでした。 msbuild.exeに対しては、(/warn:1の)答えはcsc.exeだけでは機能しません。おそらく、私はcscとmsbuildの間に何か不足していますか?どのように私はコマンドラインでmsbuildからすべてのコンパイラとコード解析の警告を抑制できますか?

私はすべてのコンパイラの警告とコード分析の警告を抑制したいと思います(例:「『variableNameHere』が割り当てられている変数が、その値...」またはコード分析警告:CA1805:Microsoft.Performance .. 。)私はコマンドラインmsbuildを使用しています。私はソリューションファイルを変更したくありません。私が構築している非常に大きなソリューションには、数百の警告メッセージがあります。それらを修正することは、私のプロジェクトの範囲外です。

私は/v:quietを試しましたが、うまくいきませんでした。

コマンドラインでこれを行う方法はありますか?

アップデート:この:

C:\WINDOWS\Microsoft.NET\Framework\v3.5\msbuild.exe C:\Dev\ReallyBigSolution.sln /p:NoWarn=true /p:NoWarn=CA1031

絶対に動作しません。私はまだ私が特にブロックしたもの(CA1031)を含む何百もの警告を得る。

/p:RunCodeAnalysis=Neverまたは/p:RunCodeAnalysis=falseを使用しても、コード解析の警告またはエラーは表示されません。

+0

MSBuildのUIはどこにありますか?実際に使うことができるようです。さまざまな設定での推測は時間の無駄です。 – jcollum

+0

あなたは推測する必要はありません。 VSを使用して、プロジェクトプロパティ(ビルドタブまたはコード分析タブ)を変更し、.csprojファイルにどのような変更が保持されているかを確認します。 msbuild全体のポイントは、コマンドラインツールです。 – Brian

+0

@Brian:私はcsprojのプロパティページを見てきましたが、これらのコード分析に関する警告は表示されません。私はあきらめるつもりだと思う。これに時間を浪費する。私はそれが簡単だと思った、私は行方不明だったちょうどいくつかのコマンドライン。 – jcollum

答えて

11

は.csprojファイルに<NoWarn>プロパティに対応する、コンパイラにnowarnフラグを使用することができます。だから多分msbuild /p:NoWarn="37;68"これらの警告番号をオフにします(試していない)。

か、完全に警告をオフにする

http://msdn.microsoft.com/en-us/library/13b90fz7.aspx

を使用しています。私は不本意な財産名を知らないので、/p:Warn=0を試してみてください。

編集:最後にコメントを読んでください。本当にこれらの警告をすべて取り除いているように思えます。

+0

ええ、私はそれが動作すると思います。しかし、それは私が得ているすべての警告番号を見つけることを意味します。私はちょうど "警告を気にしない"と言いたいと思います。 – jcollum

+0

私の答えが更新されました。 – Brian

+0

更新:試した/ p:NoWarn = trueおよび/ p:NoWarn = CA1051 - 良い結果はありません。まだ他の警告のトンを得る。 – jcollum

0

それはnot possibleであるように見える...

Warnings with MSB prefix are thrown by MSBuild. Currently, we can't suppress MSBuild warnings.

+0

一部に適用されますが、すべてではありません。CS0219のようなものです(変数 'xxxxxx'は割り当てられていますが、その値は使用されません)はMSBuildのエラーではありません。 – jcollum

+0

これはコンパイラの警告であり、MSBの警告ではありません。あなたは引数を渡しています...これをチェックしましたか?http://social.msdn.microsoft.com/Forums/en-US/msbuild/thread/94ae238b-e755-4023-a6cb-c113df841c82/ –

+0

はい、私はそれを読んだ。解決策の変更に関与します。そのため、私は質問で.slnファイルを変更したくないと指定しました。私が求めているのは、おそらく不可能/悲しいことです。 – jcollum

1

は、私はこれを試してみましたが、私はこれを試してみてからMSBuild.exe

4

用/ NOWARNプロパティにそれらを一覧表示していない限り、いずれかの警告を抑制することはできません。

msbuild.exe C:\Dev\BigSolution.sln /p:WarningLevel=0 /p:RunCodeAnalysis=false 
9

を、私はこれは古い記事ですけどそれは正しい軌道に乗って、私のmsbuild呼び出しに次の行を追加することで、警告と出力をすべて抑制してプロジェクトを構築しました。私はバッチファイルでこれを持っているので、私が得る唯一の出力は最終結果と私がエコーでプロンプトを出すメッセージです。シークレットは/ clpスイッチにあります。だから私はそれを見て、出力を控えているすべてのものを入れました。それぞれ1つは削除されましたが、まだ黄色の警告が表示されていました。また、ErrorsOnlyスイッチを追加しても出力はありませんでした。

call msbuild /clp:NoSummary;NoItemAndPropertyList;ErrorsOnly /verbosity:quiet /nologo 
+0

ありがとう、これは完全に動作します。 – Czenda

関連する問題