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.