Попередження як помилка - Як їх усунути


91

Я не можу зрозуміти, як позбутися помилок, які в основному не повинні зупиняти мою компіляцію в Visual Studio 2010 і не повинні показувати пробки, або, принаймні, я їх виправлятиму пізніше, але я не хочу, щоб компіляція просто помилялася і зупинитись на подібних проблемах.

Наприклад, я отримую таку помилку:

Помилка 1 Попередження як помилка: XML-коментар до "ScrewTurn.Wiki.SearchEngine.Relevance.Finalize (float)" містить тег paramref для "IsFinalized", але немає параметра з таким іменем C: \ www \ Wiki \ Screwturn3_0_2_509 \ SearchEngine \ Релевантність.cs 60 70 SearchEngine

для цього коду:

  /// <summary>
  /// Normalizes the relevance after finalization.
  /// </summary>
  /// <param name="factor">The normalization factor.</param>
  /// <exception cref="InvalidOperationException">If <paramref name="IsFinalized"/> is <c>false</c> (<see cref="M:Finalize"/> was not called).</exception>
  public void NormalizeAfterFinalization(float factor) {
      if (factor < 0)
          throw new ArgumentOutOfRangeException("factor", "Factor must be greater than or equal to zero");

      if (!isFinalized)
          throw new InvalidOperationException("Normalization can be performed only after finalization");
      value = value * factor;
  }

Я подивився в меню Інструменти -> Параметри , і я не бачу, де я можу налаштувати компілятор і сказати йому, щоб він не турбувався про коментарі чи помилки на основі XHTML.


11
"Просто виправте код", питання не задається.
orfdorf

Відповіді:


153

Кожен проект у Visual Studio має опцію "обробляти попередження як помилки". Перегляньте кожен зі своїх проектів і змініть цей параметр:

  1. Клацніть правою кнопкою миші на своєму проекті, виберіть "Властивості".
  2. Клацніть «Збірка».
  3. Установіть перемикач "Поводження з помилками" з "Усі" на "Конкретні попередження" або "Немає".

Розташування цього комутатора залежить від типу проекту (наприклад, бібліотека класів проти веб-програми).


1
Шиш, яке місце це сховати. Я дивився скрізь, але не за проектом.
nportelli

1
Хтось знає нове рішення для VS2012?
bobble14988

1
Те саме рішення у VS2012, @ bobble14988.
Michael Petrotta

6
@ bobble14988 У VS2012 ви можете знайти цю конфігурацію в розділі Властивості проекту -> C / C ++ -> Загальні
Ханан Н.

1
Цікаво, чому VS 2017 не вшановує зміну з "Усі" на "Ні". Я перевернув його, врятував все, почистив, відновив, вийшов з VS, почистив, відновив нудоту, але попередження все ще є помилками. Файл csproj готовий falseдля цього налаштування. Де це, біса, це все ще зберігається неправильно ??? Я відмовляюся перед тим, як розробники MS мають чудові можливості вводити помилки.
ajeh 01.03.18

13

Щоб Visual Studio Express 2013 позбувся цієї проблеми, потрібно виконати наступне.

Клацніть правою кнопкою миші на своєму проекті, клацніть Властивості. У вікні властивостей з лівого меню виберіть Властивості конфігурації-> C / C ++ -> Загальне

Виберіть праворуч

Розглядайте попередження як помилки НІ

і

SDL перевіряє НІ


1
Відключення SDL Checksспрацювало для мене у Visual Studio 2015. (у мене було попередження про припинення розвитку, яке трактувалось як помилка)
Кевін Сміт,

6

Верхня відповідь застаріла для Visual Studio 2015.

Англійська:

Configuration Properties -> C/C++ -> General -> Treat Warning As Errors

Німецька:

Konfigurationseigenschaften -> C/C++ -> Allgemein -> Warnungen als Fehler behandeln

Або скористайтеся цим зображенням як орієнтир, набагато простіше швидко подумки з’ясувати місце розташування:

введіть тут опис зображення


1

Ви можете контролювати поведінку у файлі заголовка або C-файлі:

#pragma warning(error:4003) //not enough actual parameters for macro

проте протестовано з Visual studio 2015. У мене є загальний заголовочний файл 'compl_adaption.h' для таких речей, включений у всі файли, щоб встановити таку поведінку для всіх моїх проектів, складених у Visual Studio.


1

Розглядати всі попередження компілятора як помилки компіляції

  1. Вибравши проект у Провіднику рішень, у меню Проект натисніть Властивості.
  2. Клацніть на вкладку Скласти. (або там може бути вкладка Build)
  3. Установіть прапорець Обробляти всі попередження як помилки. (або виберіть параметр збірки та змініть параметри «обробляти попередження як помилки» на істинні.)

і якщо ви хочете позбутися цього

Щоб вимкнути всі попередження компілятора

  1. Вибравши проект у Провіднику рішень, у меню Проект натисніть Властивості.
  2. Клацніть на вкладку Скласти. (або там може бути вкладка Build)
  3. Установіть прапорець Вимкнути всі попередження. (або виберіть параметр збірки та змініть параметри «обробляти попередження як помилки» на false.)

0

У Властивостях

Перейдіть до Властивості конфігурації. У цьому перейдіть до C / C ++ (або щось подібне). , Потім клацніть Загальні, У цьому зніміть прапорець у полі "Попередження вважати помилками"


0

VS 2019

Тільки для людей, які використовують VS2019, я думаю, що інші відповіді також вказують на те саме місце.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.