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.

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.

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.


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



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


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


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
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.