Практическое руководство. Отключение предупреждений компилятора

Отфильтровав предупреждения компилятора одного или нескольких видов, вы сможете убрать лишнюю информацию из журнала сборки. Например, вы можете регулировать объем выходных данных, изменяя уровень детализации журнала сборки: обычный, подробный или диагностический. Дополнительные сведения о детализации см. в разделе Практическое руководство. Просмотр, сохранение и настройка файлов журнала сборки.

Отключение некоторых предупреждений для Visual C# и F#

Используйте страницу свойств Сборка, чтобы отключить конкретные предупреждения для проектов C# и F#.

  1. В обозревателе решений выберите проект, в котором вы хотите отключить предупреждения.

  2. В строке меню выберите Вид > Страницы свойств.

  3. Перейдите на страницу Сборка.

  4. В окне Отключить предупреждения через точку с запятой укажите коды предупреждений, которые вы хотите отключить.

  5. Выполните повторную сборку решения.

Отключение некоторых предупреждений для C++

Используйте страницу свойств Свойства конфигурации, чтобы отключить конкретные предупреждения для проектов C++.

  1. В обозревателе решений выберите проект или исходный файл, в котором хотите отключить предупреждения.

  2. В строке меню выберите Вид > Страницы свойств.

  3. Выберите категорию Свойства конфигурации, категорию C/C++ и затем — страницу Дополнительно.

  4. Выполните одно из следующих действий.

    • В окне Отключить некоторые предупреждения укажите разделенные точкой с запятой коды ошибок предупреждений, которые необходимо отключить.

    • В окне Отключить некоторые предупреждения щелкните Изменить, чтобы отобразить дополнительные параметры.

  5. Нажмите кнопку ОК, а затем перестройте решение.

Отключение предупреждений для Visual Basic

Чтобы скрыть некоторые предупреждения компилятора для Visual Basic, измените VBPROJ-файл проекта. Чтобы отключить предупреждения определенной категории, используйте страницу свойств компилятора. Дополнительные сведения см. в статье Настройка предупреждений в Visual Basic.

Отключение некоторых предупреждений для Visual Basic

В этом примере показано, как отключить отдельные предупреждения компилятора настройками в VBPROJ-файле.

  1. В обозревателе решений выберите проект, в котором вы хотите отключить предупреждения.

  2. В строке меню выберите Проект > Выгрузить проект.

  3. В обозревателе решений откройте контекстное меню для проекта и выберите пункт Изменить <ProjectName>.vbproj.

    XML-файл проекта откроется в редакторе кода.

  4. Найдите элемент <NoWarn> в используемой конфигурации сборки и добавьте в элемент <NoWarn> один или несколько номеров предупреждений. Если вы указываете несколько номеров предупреждений, разделяйте их запятыми.

    В следующем примере показан элемент <NoWarn> для конфигурации сборки Debug на платформе x86, который подавляет вывод двух предупреждений компилятора.

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

    Observação

    По умолчанию проекты .NET Core не содержат группы свойств для конфигурации сборки. Чтобы отключить предупреждения для проекта .NET Core, вручную добавьте нужный раздел конфигурации в файл. Пример:

    <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-файле.

  6. В строке меню выберите Проект > Перезагрузить проект.

  7. В строке меню последовательно выберите пункты Сборка > Перестроить решение.

    В окне Вывод указанные предупреждения больше не отображаются.

Дополнительные сведения см. в описании параметра компилятора /nowarn для компилятора командной строки Visual Basic.

Отключение предупреждений для пакетов NuGet

В некоторых случаях нужно отключить предупреждения компилятора NuGet только для одного пакета NuGet, а не для всего проекта. Возможно, эти предупреждения нужны для конкретной цели, и вы не хотите отключать их на уровне проекта. Например, одно из предупреждений NuGet сообщает о неполной совместимости пакета с проектом. Если вы отключите его на уровне проекта, а затем добавить новый пакет NuGet, вы не сможете узнать о его возможной несовместимости.

Отключение определенных предупреждений для одного пакета NuGet

  1. В обозревателе решений выберите пакет NuGet, для которого вы хотите отключить предупреждения компилятора.

    Пакет NuGet в обозревателе решений

  2. Выберите Свойства в контекстном меню или в меню правой кнопки мыши.

  3. В поле NoWarn свойств пакета введите номер предупреждения, который вы хотите отключить для этого пакета. Если вы намерены отключить несколько предупреждений, разделите их номера запятыми.

    Свойства пакета NuGet

    Теперь эти предупреждения исчезнут из обозревателя решений и списка ошибок.

См. также