.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 警告番号

を記述すればよい。

 つまり、(ファイル全体ではなく)局所的に警告を非表示にしたいのであれば、次のように記述すればよい。

class Program
{
    static void Main()
    {
#pragma warning disable 0168
      string warningString;  // 局所的に非表示
#pragma warning restore 0168
    }
}
局所的に警告を非表示にするサンプル・コード

●(2)プロジェクト全体で、特定の警告を非表示にする方法

 プロジェクト全体で、特定の警告を非表示にするには、プロジェクト・プロパティで設定を行う。C#とVBで若干異なるので、それぞれ説明する。利用しているVisual Studioは2008である。

 まずはC#から。[ソリューション エクスプローラ]でプロジェクト項目の右クリック・メニューから[プロパティ]を選択してプロジェクト・プロパティを表示し、その[ビルド]タブを開く。そして次の画面のように、[警告の表示なし]テキストボックスに警告番号を指定すればよい。

C#におけるプロジェクト全体での警告の非表示
この画面の例のように、カンマ区切りで複数の警告番号を指定することも可能。

 続いてVBの場合。こちらも同様にプロジェクト・プロパティを表示し、その[コンパイル]タブを開く。そして次の画面のように、[警告の構成]一覧で[条件]ごとに[通知]を「なし」に変更すればよい。

VBにおけるプロジェクト全体での警告の非表示

 VBの場合、どの条件がどの警告番号に対応するのかが分かりにくいが、この対応関係を調べるには「Visual Basic での警告の構成」を参照すればよい。End of Article

カテゴリ:Visual Studio 2005 処理対象:IDE
カテゴリ:Visual Studio 2008 処理対象:IDE

この記事と関連性の高い別の.NET TIPS
IPアドレス←→ホスト名を変換するには?
このリストは、(株)デジタルアドバンテージが開発した
自動関連記事探索システム Jigsaw(ジグソー) により自動抽出したものです。
generated by

「.NET TIPS」

@IT Special

- PR -

TechTargetジャパン

Insider.NET フォーラム 新着記事
  • 第2回 簡潔なコーディングのために (2017/7/26)
     ラムダ式で記述できるメンバの増加、throw式、out変数、タプルなど、C# 7には以前よりもコードを簡潔に記述できるような機能が導入されている
  • 第1回 Visual Studio Codeデバッグの基礎知識 (2017/7/21)
     Node.jsプログラムをデバッグしながら、Visual Studio Codeに統合されているデバッグ機能の基本の「キ」をマスターしよう
  • 第1回 明瞭なコーディングのために (2017/7/19)
     C# 7で追加された新機能の中から、「数値リテラル構文の改善」と「ローカル関数」を紹介する。これらは分かりやすいコードを記述するのに使える
  • Presentation Translator (2017/7/18)
     Presentation TranslatorはPowerPoint用のアドイン。プレゼンテーション時の字幕の付加や、多言語での質疑応答、スライドの翻訳を行える
@ITメールマガジン 新着情報やスタッフのコラムがメールで届きます(無料)
- PR -

イベントカレンダー

PickUpイベント

- PR -

アクセスランキング

もっと見る

ホワイトペーパーTechTargetジャパン

注目のテーマ

Insider.NET 記事ランキング

本日 月間
ソリューションFLASH