Visual Studioの警告レベルの意味は?


92

Webアプリケーションプロジェクトの[ビルド]タブに、「警告レベル」という設定があります。0から4までの値を設定できます。これらの値はどういう意味ですか?値0はより厳密で警告を生成しますか、またはその逆ですか?まだドキュメントを見つけることができませんが、間違った場所を探している可能性があります。

回答:


108

このリンクには、警告レベルの定義が表示されます(WebプロジェクトでC#コードを使用していると想定しています)。レベル4が最も厳しいです。


  • 0:すべての警告メッセージの発信をオフにします。
  • 1:重大な警告メッセージを表示します。
  • 2:レベル1の警告に加えて、クラスメンバーの非表示に関する警告など、それほど重大ではない特定の警告を表示します。
  • 3:レベル2の警告に加えて、常にtrueまたはfalseと評価される式に関する警告など、特定のそれほど重大ではない警告を表示します。
  • 4:すべてのレベル3警告と情報警告を表示します。これは、コマンドラインでのデフォルトの警告レベルです。

おかげで、それはまさに私が探していたものです。
Jon Tackabury 2009年

7
リンクが壊れた場合に備えて、回答のレベルをコピーすることをお勧めします。MicrosoftのWebサイトではめったに起こらないこと。:D
サミュエル

10

高いほど厳格です。アプリにとってあまり意味がないかもしれないし、そうでないかもしれないすべての警告を見るのは煩わしいかもしれませんが、それらをクリアするために時間をかけることはあなたに多くを教えることができます。


私はこれを2番目にします。これは、たとえば単体テストプロジェクトの場合に適したオプションである可能性があります。この場合、ルールセットを含めるのはやり過ぎであるか、コードの種類に適していない可能性があります。
オリバーシマー



0

さらに、F#は警告レベル5に上がります。

--warn:warning-level

警告レベル(0〜5)を設定します。デフォルトのレベルは3です。各警告には、その重大度に基づいてレベルが与えられます。レベル5は、レベル1よりも多くの、しかしそれほど深刻ではない警告を出します。

レベル5の警告は、21(実行時に再帰的使用がチェックされる)、22(recが順不同で評価される)、45(完全な抽象化)、および52(防御コピー)です。

https://docs.microsoft.com/en-us/dotnet/fsharp/language-reference/compiler-options


-2

たとえば、警告レベルを4に設定するか/W4、コンパイラがすべての警告をエラーとして扱うことを意味します。それは主に、コンパイラが気分が悪いものを見つけたときの反応です。そして、ちなみに、すべての警告のレベルは0ターンです。


8
レベル0は警告をオフにしますが、レベル4は警告をエラーとして扱いません。「レベル3のすべての警告と情報の警告を表示します」。
zastrowm 2012年
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.