Signification du niveau d'avertissement de Visual Studio?

91

Dans l'onglet de création dans un projet d'application Web, j'ai un paramètre appelé "Niveau d'avertissement". Je peux définir une valeur comprise entre 0 et 4. Que signifient ces valeurs? Une valeur de 0 sera-t-elle plus stricte et générera-t-elle plus d'avertissements, ou vice versa? Je n'ai pas encore pu trouver de documentation à ce sujet, mais peut-être que je cherche au mauvais endroit.

Jon Tackabury
la source

Réponses:

107

Ce lien vous montre les définitions des niveaux d'avertissement (je suppose que vous utilisez du code C # dans votre projet Web). Le niveau 4 est le plus strict.


  • 0: désactive l'émission de tous les messages d'avertissement.
  • 1: affiche des messages d'avertissement sévères.
  • 2: Affiche les avertissements de niveau 1 ainsi que certains avertissements moins graves, tels que les avertissements concernant le masquage des membres de la classe.
  • 3: Affiche les avertissements de niveau 2 ainsi que certains avertissements moins graves, tels que les avertissements concernant les expressions qui sont toujours évaluées à vrai ou faux .
  • 4: Affiche tous les avertissements de niveau 3 ainsi que les avertissements d'information. Il s'agit du niveau d'avertissement par défaut sur la ligne de commande.
mwigdahl
la source
Merci, c'est exactement ce que je cherchais.
Jon Tackabury
7
Puis-je vous suggérer de copier les niveaux dans votre réponse au cas où le lien serait rompu. Quelque chose qui se produit rarement avec le site Web de Microsoft. : D
Samuel
10

Plus haut est plus strict. Il peut être ennuyeux de voir tous les avertissements qui peuvent ou non signifier beaucoup pour votre application, mais prendre le temps de les clarifier peut vous en apprendre beaucoup.

Royatl
la source
J'appuie cela. Cela peut être une bonne option, par exemple pour les projets de test unitaire, où l'inclusion de votre jeu de règles peut être excessive ou même inadaptée au type de code.
Oliver Schimmer
8

0 désactive complètement les avertissements, tandis que 4 est le niveau le plus détaillé. Consultez la documentation ici qui présente les mêmes niveaux d'avertissement.

Adrian Grigore
la source
0

De plus, F # passe au niveau d'avertissement 5:

--warn: niveau d'avertissement

Définit un niveau d'avertissement (0 à 5). Le niveau par défaut est 3. Chaque avertissement reçoit un niveau en fonction de sa gravité. Le niveau 5 donne des avertissements plus, mais moins sévères, que le niveau 1.

Les avertissements de niveau 5 sont: 21 (utilisation récursive vérifiée à l'exécution), 22 (laissez rec évalué dans le désordre), 45 (abstraction complète) et 52 (copie défensive)

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

chuckc
la source
-2

Par exemple, définir un niveau d'avertissement sur 4 ou /W4signifie que le compilateur traitera tous les avertissements comme des erreurs. C'est principalement la façon dont le compilateur réagit quand il voit quelque chose qui ne lui fait pas plaisir. Et, en passant, un niveau de 0 tours de tous les avertissements.

dirkgently
la source
8
Le niveau 0 désactive les avertissements, mais le niveau 4 ne traite pas les avertissements comme des erreurs - il «affiche tous les avertissements de niveau 3 ainsi que les avertissements d'information».
zastrowm