Significati dei livelli di avviso di Visual Studio?


92

Nella scheda build in un progetto di applicazione Web ho un'impostazione chiamata "Livello di avviso". Posso impostare un valore da 0 a 4. Cosa significano questi valori? Un valore di 0 sarà più rigoroso e genererà più avvisi o viceversa? Non sono ancora riuscito a trovare alcuna documentazione su di esso, ma forse sto cercando nel posto sbagliato.

Risposte:


108

Questo collegamento mostra le definizioni dei livelli di avviso (presumo che tu stia utilizzando codice C # nel tuo progetto web). Il livello 4 è il più rigoroso.


  • 0: disattiva l'emissione di tutti i messaggi di avviso.
  • 1: Visualizza messaggi di avviso gravi.
  • 2: mostra gli avvisi di livello 1 più alcuni avvisi meno gravi, come gli avvisi sui membri della classe nascosti.
  • 3: visualizza gli avvisi di livello 2 più alcuni avvisi meno gravi, come gli avvisi sulle espressioni che restituiscono sempre vero o falso .
  • 4: Visualizza tutti gli avvisi di livello 3 più gli avvisi informativi. Questo è il livello di avviso predefinito nella riga di comando.

Grazie, è esattamente quello che stavo cercando.
Jon Tackabury

7
Posso suggerirti di copiare i livelli nella tua risposta nel caso in cui il collegamento verrà interrotto. Qualcosa che accade raramente con il sito Web Microsoft. : D
Samuel

10

Più alto è più rigoroso. Può essere fastidioso vedere tutti gli avvisi che possono o meno significare molto per la tua app, ma dedicare del tempo a chiarirli può insegnarti molto.


Secondo questo. Potrebbe essere una buona opzione, ad esempio, per i progetti di unit test, dove includere il tuo set di regole potrebbe essere eccessivo o addirittura inadatto per il tipo di codice presente.
Oliver Schimmer



0

Inoltre, F # sale al livello di avviso 5:

--warn: livello di avviso

Imposta un livello di avviso (da 0 a 5). Il livello predefinito è 3. A ogni avviso viene assegnato un livello basato sulla sua gravità. Il livello 5 fornisce avvisi più, ma meno severi, rispetto al livello 1.

Gli avvisi di livello 5 sono: 21 (uso ricorsivo verificato in fase di esecuzione), 22 (let rec valutato fuori ordine), 45 (astrazione completa) e 52 (copia difensiva)

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


-2

Ad esempio, impostare un livello di avviso su 4 o /W4significa che il compilatore tratterà tutti gli avvisi come errori. È principalmente il modo in cui il compilatore reagisce quando vede qualcosa per cui non si sente bene. E, a proposito, un livello di 0 trasforma tutti gli avvisi.


8
Il livello 0 disattiva gli avvisi, ma il livello 4 non tratta gli avvisi come errori: "Visualizza tutti gli avvisi di livello 3 più gli avvisi informativi".
zastrowm
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.