|
.NET TIPS Visual Studioで警告を非表示にするには?[C#、VB、VS 2005、VS 2008]デジタルアドバンテージ 一色 政彦2009/03/26 |
![]() |
|
|
|
Visual Studio(のC#やVB)のコンパイラは、コンパイル時やコーディング時に自動的に問題を検出し、その問題を「警告」(warning)として[エラー一覧]ウィンドウに表示してくれる。例えば次の画面は、C#のコードにおける警告の表示例だ。
![]() |
| Visual Studioによる警告の表示例 |
この例ではwarningStringという変数について警告が発せられている。もちろんこの程度の軽微なものであれば適切に修正すればよいのだが、実際の開発ではどうしても修正できない警告が出てきてしまったり、(移行/移植してきたプロジェクトなどで)大量の警告が出て重要な警告が埋もれてしまったりする場合がある。このような場合は、特定の警告*1を非表示にするのが一番だ。本稿ではその方法を紹介する。
| *1 警告は、その種類ごとに警告番号を持っているので、どの種類の警告かを特定できる。 |
●警告番号を調べる
特定の警告を非表示にするには、まずはその警告番号を調べる必要がある。これを行うには、[エラー一覧]ウィンドウのエラー項目を右クリックして、表示されるコンテキスト・メニュー(以降、右クリック・メニュー)から[エラーのヘルプを表示]を選択すればよい。
![]() |
| 特定の警告のヘルプを表示しようとしているところ |
すると、Visual Studioのヘルプ・ドキュメントが起動し、次のようなページが表示される。
![]() |
| Visual Studioのヘルプ・ドキュメントに記載された警告番号 |
「警告 CS0168」という表記があるが、この数値部分、この場合は「0168」(※先頭の0は実際には不要)が警告番号である。これはC#の例だが、VBの場合は「Error ID: BC42024」という表記が表示され、この数値部分、この場合は「42024」が警告番号だ。C#とVBの警告番号は一致しない。
それでは、警告を非表示にする方法を説明していこう。
●警告を非表示にする2種類の方法
警告は
(1)特定のコードのみで、特定の警告を非表示にする方法(C#のみ)
(2)プロジェクト全体で、特定の警告を非表示にする方法
の2種類がある。(1)の方法はC#でしか使えない(VBは対応していないようで同様の機能は見つけられなかった)。
●(1)特定のコードのみで、特定の警告を非表示にする方法(C#のみ)
警告を非表示にしたいコードの前に、
#pragma warning disable 警告番号
を記述する。これは「インライン警告制御」と呼ばれるC#(2.0以降)の機能である。
例えば次の画面では、ファイルの冒頭にこれを記述しているため、そのファイル全体で、その警告番号(この例では「168」)の警告が表示されなくなっている(※これはプロジェクト内のほかのファイルには適用されない。つまり、ほかのファイルでは依然として警告が表示される)。
![]() |
| ファイル全体で特定の警告を非表示にした例 |
警告番号は「,」(カンマ)で区切ることで複数を指定できる。警告番号を指定しない場合はすべての警告が非表示の対象になる。
また、ファイル内で警告の表示を再開したい場合は、
#pragma warning restore 警告番号
を記述すればよい。
つまり、(ファイル全体ではなく)局所的に警告を非表示にしたいのであれば、次のように記述すればよい。
|
|
| 局所的に警告を非表示にするサンプル・コード |
●(2)プロジェクト全体で、特定の警告を非表示にする方法
プロジェクト全体で、特定の警告を非表示にするには、プロジェクト・プロパティで設定を行う。C#とVBで若干異なるので、それぞれ説明する。利用しているVisual Studioは2008である。
まずはC#から。[ソリューション エクスプローラ]でプロジェクト項目の右クリック・メニューから[プロパティ]を選択してプロジェクト・プロパティを表示し、その[ビルド]タブを開く。そして次の画面のように、[警告の表示なし]テキストボックスに警告番号を指定すればよい。
![]() |
| C#におけるプロジェクト全体での警告の非表示 |
| この画面の例のように、カンマ区切りで複数の警告番号を指定することも可能。 |
続いてVBの場合。こちらも同様にプロジェクト・プロパティを表示し、その[コンパイル]タブを開く。そして次の画面のように、[警告の構成]一覧で[条件]ごとに[通知]を「なし」に変更すればよい。
![]() |
| VBにおけるプロジェクト全体での警告の非表示 |
VBの場合、どの条件がどの警告番号に対応するのかが分かりにくいが、この対応関係を調べるには「Visual Basic での警告の構成」を参照すればよい。![]()
| カテゴリ:Visual Studio 2005 処理対象:IDE カテゴリ:Visual Studio 2008 処理対象:IDE |
|
||||||||||||
| 「.NET TIPS」 |
TechTargetジャパン
- 新人プログラマーのためのInsider.NETの歩き方 2012 (2012/5/22)
晴れて.NETプログラマーとなる新人が効率的に開発技術を習得するには? 大量にある記事群の中から新人が読むべきお勧めを厳選して紹介 - jQuery MobileでJavaScriptプログラミング (2012/5/17)
jQuery Mobileは手軽なだけでなく、JavaScriptのAPIも充実しており、独自機能の実装もできる。今回は「グローバル設定」と「イベント」を解説 - Windows上で開発するための開発環境構築入門 (2012/5/16)
Windowsを使ってチームで開発している? なのにサーバOSを設定・運用した経験がない? そうなら、今すぐ学ぼう - 「コントラクト」でアプリのサンドボックスを乗り越える! (2012/5/11)
Metroスタイル・アプリはサンドボックスの中で動作する。それを乗り越えてほかのアプリと連携する仕組み「コントラクト」を解説
|
|
キャリアアップ
スポンサーからのお知らせ
- - PR -
イベントカレンダー
- - PR -








