方法: コンパイラの警告を非表示にするHow to: Suppress compiler warnings

1 つまたは複数の種類のコンパイラの警告を除外して、ビルド ログをまとめることができます。You can declutter a build log by filtering out one or more kinds of compiler warnings. たとえば、ビルド ログの詳細さを標準、詳細、または診断に設定したときに生成される出力の一部だけを確認できます。For example, you might want to review only some of the output that's generated when you set the build log verbosity to Normal, Detailed, or Diagnostic. 詳細さについて詳しくは「方法: ビルド ログ ファイルを表示、保存、および構成する」をご覧ください。For more information about verbosity, see How to: View, save, and configure build log files.

Visual C# または F# の特定の警告を非表示にするSuppressing specific warnings for Visual C# or F#

C# または F# プロジェクトの特定の警告を非表示にするには、[ビルド] プロパティ ページを使用します。Use the Build property page to suppress specific warnings for C# and F# projects.

  1. ソリューション エクスプローラーで、警告を抑制するプロジェクトを選びます。In Solution Explorer, choose the project in which you want to suppress warnings.

  2. メニュー バーで [表示] > [プロパティ ページ] の順に選びます。On the menu bar, choose View > Property Pages.

  3. [ビルド] ページを選びます。Choose the Build page.

  4. [警告の表示なし] ボックスで表示しない警告のエラー コードをセミコロンで区切って指定します。In the Suppress warnings box, specify the error codes of the warnings that you want to suppress, separated by semicolons.

  5. ソリューションをリビルドします。Rebuild the solution.

Visual C++ の特定の警告を非表示にするSuppressing specific warnings for Visual C++

C++ プロジェクトの特定の警告を非表示にするには、[構成プロパティ] プロパティ ページを使用します。Use the Configuration Properties property page to suppress specific warnings for C++ projects.

  1. ソリューション エクスプローラーで、警告を抑制するプロジェクトまたはソース ファイルを選びます。In Solution Explorer, choose the project or source file in which you want to suppress warnings.

  2. メニュー バーで [表示] > [プロパティ ページ] の順に選びます。On the menu bar, choose View > Property Pages.

  3. [構成プロパティ] カテゴリを選び、[C/C++] カテゴリを選んだ後、[詳細設定] ページを選びます。Choose the Configuration Properties category, choose the C/C++ category, and then choose the Advanced page.

  4. 次のいずれかの操作を実行します。Perform one of the following steps:

    • [指定の警告を無効にする] ボックスで表示しない警告のエラー コードをセミコロンで区切って指定します。In the Disable Specific Warnings box, specify the error codes of the warnings that you want to suppress, separated by a semicolon.

    • [指定の警告を無効にする] ボックスで、[編集] を選んで他のオプションを表示します。In the Disable Specific Warnings box, choose Edit to display more options.

  5. [OK] ボタンを選び、ソリューションをリビルドします。Choose the OK button, and then rebuild the solution.

Visual Basic の警告を非表示にするSuppressing warnings for Visual Basic

プロジェクトの .vbproj ファイルを編集することで、Visual Basic の特定のコンパイラの警告を非表示にできます。You can hide specific compiler warnings for Visual Basic by editing the .vbproj file for the project. カテゴリで警告を非表示にするには、コンパイル プロパティ ページを使用できます。To suppress warnings by category, you can use the Compile property page. 詳しくは、「Visual Basic での警告の構成」をご覧ください。For more information, see Configuring warnings in Visual Basic.

Visual Basic の特定の警告を抑制するにはTo suppress specific warnings for Visual Basic

この例は、.vbproj ファイルを編集して特定のコンパイラの警告を非表示にする方法を示しています。This example shows you how to edit the .vbproj file to suppress specific compiler warnings.

  1. ソリューション エクスプローラーで、警告を抑制するプロジェクトを選びます。In Solution Explorer, choose the project in which you want to suppress warnings.

  2. メニュー バーから、[プロジェクト] > [プロジェクトのアンロード] の順に選びます。On the menu bar, choose Project > Unload Project.

  3. ソリューション エクスプローラーで、プロジェクトの右クリックまたはショートカット メニューを開き、[<プロジェクト名>.vbproj の編集] を選びます。In Solution Explorer, open the right-click or shortcut menu for the project, and then choose Edit ProjectName .vbproj.

    コード エディターに XML プロジェクト ファイルが開きます。The XML project file opens in the code editor.

  4. ビルドに使用するビルド構成の <NoWarn> 要素を見つけ、<NoWarn> 要素の値として 1 つまたは複数の警告番号を追加します。Locate the <NoWarn> element for the build configuration you're building with, and add one or more warning numbers as the value of the <NoWarn> element. 複数の警告番号を指定する場合は、コンマで区切ります。If you specify multiple warning numbers, separate them with a comma.

    次の例では、2 つのコンパイラの警告が非表示にされた、x86 プラットフォームでのデバッグ ビルド構成の <NoWarn> 要素を太字で示してあります。The following example shows the <NoWarn> element for the Debug build configuration on an x86 platform, with two compiler warnings suppressed:

    <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|x86' ">
        <PlatformTarget>x86</PlatformTarget>
        <DebugSymbols>true</DebugSymbols>
        <DebugType>full</DebugType>
        <Optimize>false</Optimize>
        <OutputPath>bin\Debug\</OutputPath>
        <DefineDebug>true</DefineDebug>
        <DefineTrace>true</DefineTrace>
        <ErrorReport>prompt</ErrorReport>
        <NoWarn>40059,42024</NoWarn>
        <WarningLevel>1</WarningLevel>
      </PropertyGroup>
    

    注意

    既定では、.NET Core プロジェクトにはビルド構成プロパティ グループは含まれません。.NET Core projects do not contain build configuration property groups by default. .NET Core プロジェクトで警告を非表示にするには、手動でビルド構成セクションをファイルに追加します。To suppress warnings in a .NET Core project, add the build configuration section to the file manually. 例:For example:

    <Project Sdk="Microsoft.NET.Sdk">
      <PropertyGroup>
        <OutputType>Exe</OutputType>
        <TargetFramework>netcoreapp2.0</TargetFramework>
        <RootNamespace>VBDotNetCore_1</RootNamespace>
      </PropertyGroup>
      <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
        <NoWarn>42016,41999,42017</NoWarn>
      </PropertyGroup>
    </Project>
    
  5. 変更を .vbproj ファイルに保存します。Save the changes to the .vbproj file.

  6. メニュー バーから、[プロジェクト] > [プロジェクトの再読み込み] の順に選びます。On the menu bar, choose Project > Reload Project.

  7. メニュー バーから、[ビルド] > [ソリューションのリビルド] の順に選びます。On the menu bar, choose Build > Rebuild Solution.

    指定した警告が、[出力] ウィンドウに表示されなくなります。The Output window no longer shows the warnings that you specified.

詳細については、Visual Basic のコマンド ライン コンパイラの /nowarn コンパイラ オプションを参照してください。For more information, see the /nowarn compiler option for the Visual Basic command-line compiler.

NuGet パッケージの警告を非表示にするSuppressing warnings for NuGet packages

場合によっては、プロジェクト全体ではなく、1 つの NuGet パッケージに対して NuGet コンパイラの警告を非表示にしたい場合があります。In some cases, you may want to suppress NuGet compiler warnings for a single NuGet package, instead of for an entire project. 警告は役に立つため、プロジェクト レベルで非表示にしたくない場合があります。The warning serves a purpose, so you don't want to suppress it at the project level. たとえば、NuGet 警告のうちの 1 つは、パッケージがプロジェクトと完全に互換性がない可能性を示します。For example, one of the NuGet warnings tells you that the package may not be fully compatible with your project. これをプロジェクト レベルで非表示にし、後で追加の NuGet パッケージを追加すると、互換性に関する警告が生成されたかどうかがわからなくなります。If you suppress it at the project level and later add an additional NuGet package, you would never know if it was producing the compatibility warning.

1 つの NuGet パッケージに対して特定の警告を非表示にするにはTo suppress a specific warning for a single NuGet package

  1. ソリューション エクスプローラーで、コンパイラの警告を非表示にする NuGet パッケージを選択します。In Solution Explorer, select the NuGet package you want to suppress compiler warnings for.

    ソリューション エクスプローラーの NuGet パッケージ

  2. 右クリックまたはコンテキスト メニューから、[プロパティ] を選択します。From the right-click or context menu, select Properties.

  3. パッケージのプロパティの [NoWarn] ボックスで、このパッケージに対して非表示にする警告番号を入力します。In the NoWarn box of the package's properties, enter the warning number you want to suppress for this package. 複数の警告を非表示にする場合は、コンマを使用して警告番号を区切ります。If you want to suppress more than one warning, use a comma to separate the warning numbers.

    NuGet パッケージのプロパティ

    ソリューション エクスプローラーエラー一覧から警告が消えます。The warning disappears from Solution Explorer and the Error List.

関連項目See also

チュートリアル: アプリケーションをビルドするWalkthrough: Building an Application
方法: ビルド ログ ファイルを表示、保存、および構成するHow to: View, Save, and Configure Build Log Files
コードのコンパイルとビルドCompiling and Building