Visual Studioの警告レベルの意味?
-
22-07-2019 - |
質問
Webアプリケーションプロジェクトの[ビルド]タブには、「警告レベル」という設定があります。 0〜4の値を設定できます。これらの値の意味は何ですか?値0はより厳密になり、より多くの警告を生成しますか、またはその逆ですか?まだドキュメントを見つけることができませんでしたが、おそらく間違った場所を探しています。
解決
このリンクは、警告レベルの定義を表示します(WebプロジェクトでC#コードを使用していると仮定しています)。レベル4が最も厳格です。
- 0:すべての警告メッセージの発行をオフにします。
- 1:重大な警告メッセージを表示します。
- 2:レベル1の警告に加えて、クラスメンバーの非表示に関する警告など、特定のそれほど深刻ではない警告を表示します。
- 3:レベル2の警告に加えて、常に true または false と評価される式に関する警告など、特定のそれほど深刻ではない警告を表示します。
- 4:すべてのレベル3の警告と情報の警告を表示します。これは、コマンドラインのデフォルトの警告レベルです。
他のヒント
高いほど厳密です。アプリにとって意味のあることも意味もないこともある警告をすべて見るのは面倒ですが、時間をかけてそれらをクリアすることで多くのことを学ぶことができます。
ここでMicrosoftのレベルを確認できます。レベル0は基本的になしですが、レベル4が最も厳密になります。
0は警告を完全にオフにしますが、4は最も詳細なレベルです。同じ警告レベルのドキュメントを参照してください。 。
さらに、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
たとえば、警告レベルを4または / W4
に設定すると、コンパイラはすべての警告をエラーとして扱います。コンパイラーが気に入らないものを見つけたときに、コンパイラーがどのように反応するかが大部分です。ところで、すべての警告のレベルが0ターンです。