방법: 컴파일러 경고 표시 안 함How to: Suppress compiler warnings

하나 이상 종류의 컴파일러 경고를 필터링하여 빌드 로그를 정리할 수 있습니다.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#에 대한 특정 경고 표시 안 함Suppress 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++에 대한 특정 경고 표시 안 함Suppress 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. 확인 단추를 선택한 다음 솔루션을 다시 빌드합니다.Choose the OK button, and then rebuild the solution.

Visual Basic에 대한 경고 표시 안 함Suppress 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 Configure 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 .vbproj.

    XML 프로젝트 파일이 코드 편집기에서 열립니다.The XML project file opens in the code editor.

  4. 빌드 중인 빌드 구성에 대한 <NoWarn> 요소를 찾고 하나 이상의 경고 번호를 <NoWarn> 요소의 값으로 추가합니다.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.

    다음 예제는 두 개의 컴파일러 경고가 표시되지 않는 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 패키지에 대한 경고 표시 안 함Suppress warnings for NuGet packages

경우에 따라 전체 프로젝트 대신 단일 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 경고 중 하나는 패키지가 프로젝트와 완전히 호환되지 않을 수 있음을 나타냅니다.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.

단일 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