Znaczenie poziomu ostrzeżenia programu Visual Studio?


92

Na karcie kompilacji w projekcie aplikacji sieci Web mam ustawienie o nazwie „Poziom ostrzeżenia”. Mogę ustawić wartość od 0 do 4. Co oznaczają te wartości? Czy wartość 0 będzie bardziej rygorystyczna i wygeneruje więcej ostrzeżeń, czy odwrotnie? Nie udało mi się jeszcze znaleźć żadnej dokumentacji na ten temat, ale być może szukam w złym miejscu.

Odpowiedzi:


108

Ten link pokazuje definicje poziomów ostrzeżeń (zakładam, że używasz kodu C # w projekcie sieci Web). Poziom 4 jest najbardziej rygorystyczny.


  • 0: wyłącza wysyłanie wszystkich komunikatów ostrzegawczych.
  • 1: Wyświetla poważne komunikaty ostrzegawcze.
  • 2: Wyświetla ostrzeżenia poziomu 1 oraz niektóre, mniej poważne ostrzeżenia, takie jak ostrzeżenia o ukrywaniu członków klasy.
  • 3: Wyświetla ostrzeżenia poziomu 2 oraz pewne, mniej poważne ostrzeżenia, takie jak ostrzeżenia o wyrażeniach, które zawsze przyjmują wartość prawda lub fałsz .
  • 4: Wyświetla wszystkie ostrzeżenia poziomu 3 oraz ostrzeżenia informacyjne. To jest domyślny poziom ostrzeżenia w wierszu poleceń.

Dzięki, właśnie tego szukałem.
Jon Tackabury

7
Czy mogę zasugerować skopiowanie poziomów w swojej odpowiedzi na wypadek, gdyby link został uszkodzony. Coś, co rzadko się zdarza w witrynie internetowej firmy Microsoft. : D
Samuel

10

Wyższe jest bardziej rygorystyczne. Wyświetlenie wszystkich ostrzeżeń, które mogą oznaczać dużo dla Twojej aplikacji, może być denerwujące, ale poświęcenie czasu na ich wyczyszczenie może Cię wiele nauczyć.


Popieram to. Może to być fajna opcja, np. W przypadku projektów testów jednostkowych, w których włączenie zestawu reguł może być przesadą lub nawet nieodpowiednie dla danego typu kodu.
Oliver Schimmer



0

Ponadto F # przechodzi do poziomu ostrzeżenia 5:

--warn: poziom ostrzeżenia

Ustawia poziom ostrzegawczy (od 0 do 5). Poziom domyślny to 3. Każde ostrzeżenie ma przypisany poziom na podstawie jego wagi. Poziom 5 daje więcej, ale mniej dotkliwych ostrzeżeń niż poziom 1.

Ostrzeżenia poziomu 5 to: 21 (rekurencyjne użycie sprawdzane w czasie wykonywania), 22 (niech rec oceniane poza kolejnością), 45 (pełna abstrakcja) i 52 (kopia obronna)

https://docs.microsoft.com/en-us/dotnet/fsharp/language-reference/compiler-options


-2

Na przykład ustawienie poziomu ostrzeżenia na 4 lub /W4oznacza, że ​​kompilator potraktuje wszystkie ostrzeżenia jako błędy. Głównie chodzi o to, jak kompilator reaguje, gdy widzi coś, z czego nie czuje się dobrze. A tak przy okazji, poziom 0 zwojów wszystkich ostrzeżeń.


8
Poziom 0 wyłącza ostrzeżenia, ale poziom 4 nie traktuje ostrzeżeń jako błędów - powoduje wyświetlenie wszystkich ostrzeżeń poziomu 3 oraz ostrzeżeń informacyjnych.
zastrowm
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.