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.


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


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


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


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.


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

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”


0

VS 2019

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

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.