Bedeutung der Visual Studio-Warnstufe?

90

Auf der Registerkarte "Erstellen" in einem Webanwendungsprojekt habe ich eine Einstellung namens "Warnstufe". Ich kann einen Wert von 0 bis 4 einstellen. Was bedeuten diese Werte? Wird ein Wert von 0 strenger sein und mehr Warnungen erzeugen oder umgekehrt? Ich konnte noch keine Dokumentation dazu finden, aber vielleicht suche ich am falschen Ort.

Jon Tackabury
quelle

Antworten:

105

Dieser Link zeigt Ihnen die Definitionen der Warnstufen (ich gehe davon aus, dass Sie in Ihrem Webprojekt C # -Code verwenden). Stufe 4 ist die strengste.


  • 0: Schaltet die Ausgabe aller Warnmeldungen aus.
  • 1: Zeigt schwerwiegende Warnmeldungen an.
  • 2: Zeigt Warnungen der Stufe 1 sowie bestimmte, weniger schwerwiegende Warnungen an, z. B. Warnungen zum Verstecken von Klassenmitgliedern.
  • 3: Zeigt Warnungen der Stufe 2 sowie bestimmte, weniger schwerwiegende Warnungen an, z. B. Warnungen zu Ausdrücken, die immer als wahr oder falsch bewertet werden .
  • 4: Zeigt alle Warnungen der Stufe 3 sowie Informationswarnungen an. Dies ist die Standardwarnstufe in der Befehlszeile.
mwigdahl
quelle
Danke, genau das habe ich gesucht.
Jon Tackabury
7
Darf ich Ihnen vorschlagen, die Ebenen in Ihrer Antwort zu kopieren, falls der Link unterbrochen wird. Etwas, das auf der Microsoft-Website selten vorkommt. : D
Samuel
10

Höher ist strenger. Es kann ärgerlich sein, alle Warnungen zu sehen, die für Ihre App möglicherweise viel bedeuten oder nicht, aber wenn Sie sich die Zeit nehmen, sie zu löschen, können Sie viel lernen.

Royatl
quelle
Ich unterstütze das. Dies ist möglicherweise eine gute Option, z. B. für Unit-Test-Projekte, bei denen das Einfügen Ihres Regelsatzes für die Art des Codes dort möglicherweise übertrieben oder sogar ungeeignet ist.
Oliver Schimmer
8

Hier können Sie die Microsoft-Level überprüfen . Stufe 0 ist im Wesentlichen keine, während Stufe 4 die strengste ist.

itsmatt
quelle
8

0 schaltet Warnungen vollständig aus, während 4 die ausführlichste Stufe ist. Weitere Informationen finden Sie in der Dokumentation mit denselben Warnstufen.

Adrian Grigore
quelle
0

Zusätzlich erreicht F # die Warnstufe 5:

--warn: Warnstufe

Legt eine Warnstufe fest (0 bis 5). Die Standardstufe ist 3. Jede Warnung erhält eine Stufe, die auf ihrem Schweregrad basiert. Stufe 5 gibt mehr, aber weniger strenge Warnungen als Stufe 1.

Warnungen der Stufe 5 sind: 21 (zur Laufzeit überprüfte rekursive Verwendung), 22 (rec wird nicht in der richtigen Reihenfolge ausgewertet), 45 (vollständige Abstraktion) und 52 (defensive Kopie)

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

chuckc
quelle
-2

Wenn Sie beispielsweise eine Warnstufe auf 4 setzen oder /W4bedeutet, dass der Compiler alle Warnungen als Fehler behandelt. Es ist meistens so, wie der Compiler reagiert, wenn er etwas sieht, bei dem er sich nicht gut fühlt. Übrigens eine Stufe von 0 Umdrehungen aller Warnungen.

dirkgently
quelle
8
Stufe 0 schaltet Warnungen aus, aber Stufe 4 behandelt Warnungen nicht als Fehler - es werden "alle Warnungen der Stufe 3 plus Informationswarnungen angezeigt".
Zastrowm