Ostrzeżenie jako błąd - jak się ich pozbyć

93

Nie mogę wymyślić, jak pozbyć się błędów, które w zasadzie nie powinny zatrzymywać mojej kompilacji w Visual Studio 2010 i nie powinny być stoperami pokazów, a przynajmniej naprawię je później, ale nie chcę, aby kompilacja po prostu błędnie i powstrzymać się od tego rodzaju problemów.

Na przykład otrzymuję następujący błąd:

Błąd 1 Ostrzeżenie jako błąd: komentarz XML dotyczący „ScrewTurn.Wiki.SearchEngine.Relevance.Finalize (float)” zawiera znacznik paramref dla „IsFinalized”, ale nie ma parametru o tej nazwie C: \ www \ Wiki \ Screwturn3_0_2_509 \ SearchEngine \ Relevance.cs 60 70 SearchEngine

dla tego kodu:

  /// <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;
  }

Zajrzałem do menu Narzędzia -> Opcje i nie widzę, gdzie mogę dostosować kompilator i powiedzieć mu, aby nie przejmował się komentarzami lub błędami opartymi na XHTML.

PositiveGuy
źródło
12
Pytanie nie brzmi „Po prostu popraw kod”.
orfdorf

Odpowiedzi:

156

Każdy projekt w programie Visual Studio ma opcję „traktuj ostrzeżenia jako błędy”. Przejdź przez każdy ze swoich projektów i zmień to ustawienie:

  1. Kliknij prawym przyciskiem myszy projekt, wybierz „Właściwości”.
  2. Kliknij „Zbuduj”.
  3. Przełącz opcję „Traktuj ostrzeżenia jako błędy” z „Wszystkie” na „Konkretne ostrzeżenia” lub „Brak”.

Lokalizacja tego przełącznika różni się w zależności od typu projektu (na przykład biblioteka klas a aplikacja internetowa).

Michael Petrotta
źródło
1
Cóż za miejsce, żeby to ukryć. Szukałem wszędzie oprócz projektu.
nportelli
1
Czy ktoś zna nowe rozwiązanie dla VS2012?
bobble14988
1
To samo rozwiązanie w VS2012, @ bobble14988.
Michael Petrotta,
6
@ bobble14988 W VS2012 można znaleźć tę konfigurację w Project properties-> C / C ++ -> General
Hanan N.
1
Zastanawiam się, dlaczego VS 2017 nie honoruje zmiany z All na None. Odwróciłem go, zapisałem wszystko, wyczyściłem, odbudowałem, wyszedłem z VS, wyczyściłem, odbudowałem do znudzenia, ale ostrzeżenia nadal są błędami. Plik csproj jest przeznaczony falsedla tego ustawienia. Gdzie, do diabła, to trwało źle ??? Poddaję się twórcom MS wyższą umiejętność wprowadzania błędów.
ajeh
13

Aby program Visual Studio Express 2013 pozbył się tego problemu, musisz wykonać następujące czynności.

Kliknij prawym przyciskiem myszy projekt i kliknij opcję Właściwości. W oknie właściwości z lewego menu wybierz Właściwości konfiguracji-> C / C ++ -> Ogólne

Po prawej stronie wybierz

Traktuj ostrzeżenie jako błąd NIE

i

Kontrole SDL NIE

Saleh Enam Shohag
źródło
1
Wyłączenie SDL Checkszadziałało dla mnie w programie Visual Studio 2015. (Otrzymałem ostrzeżenie o wycofaniu traktowane jako błąd)
Kevin Smyth
6

Najlepsza odpowiedź jest nieaktualna Visual Studio 2015.

Język angielski:

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

Niemiecki:

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

Lub użyj tego obrazu jako odniesienia, o wiele łatwiejsze mentalne ustalenie lokalizacji:

wprowadź opis obrazu tutaj

lama12345
źródło
1

Możesz kontrolować zachowanie w pliku nagłówkowym lub pliku C:

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

jeszcze testowane z Visual Studio 2015. Mam wspólny plik nagłówkowy „compl_adaption.h” dla takich rzeczy, zawarty we wszystkich plikach, aby ustawić to zachowanie dla wszystkich moich projektów skompilowanych w Visual Studio.

Hartmut Schorrig
źródło
1

Traktowanie wszystkich ostrzeżeń kompilatora jako błędów kompilacji

  1. Po wybraniu projektu w Eksploratorze rozwiązań w menu Projekt kliknij polecenie Właściwości.
  2. Kliknij kartę Kompiluj. (lub karta kompilacji może tam być)
  3. Zaznacz pole wyboru Traktuj wszystkie ostrzeżenia jako błędy. (lub wybierz ustawienie kompilacji i zmień ustawienie „traktuj ostrzeżenia jako błędy” na true).

i jeśli chcesz się go pozbyć

Aby wyłączyć wszystkie ostrzeżenia kompilatora

  1. Po wybraniu projektu w Eksploratorze rozwiązań w menu Projekt kliknij polecenie Właściwości.
  2. Kliknij kartę Kompiluj. (lub karta kompilacji może tam być)
  3. Zaznacz pole wyboru Wyłącz wszystkie ostrzeżenia. (lub wybierz ustawienie kompilacji i zmień ustawienie „traktuj ostrzeżenia jako błędy” na fałsz).
Alfa Thakkar
źródło
0

We właściwościach

Przejdź do Właściwości konfiguracji. W tym przejdź do C / C ++ (lub czegoś takiego). , Następnie kliknij Ogólne, w tym usuń zaznaczenie w polu wyboru „Traktuj ostrzeżenie jako błędy”

Paroda
źródło
0

VS 2019

Tylko dla osób używających VS2019 myślę, że inne odpowiedzi również wskazują tę samą lokalizację.

Yoon5oo
źródło