Avviso come errore - Come eliminarli


91

Non riesco a capire come sbarazzarmi degli errori che fondamentalmente non dovrebbero interrompere la mia compilazione in Visual Studio 2010 e non dovrebbero mostrare blocchi, o almeno li risolverò in seguito, ma non voglio che la compilazione si limiti a errori e fermarsi su questo tipo di problemi.

Ad esempio, ricevo il seguente errore:

Errore 1 Avviso come errore: il commento XML su "ScrewTurn.Wiki.SearchEngine.Relevance.Finalize (float)" ha un tag paramref per "IsFinalized", ma non esiste alcun parametro con quel nome C: \ www \ Wiki \ Screwturn3_0_2_509 \ SearchEngine \ Relevance.cs 60 70 SearchEngine

per questo codice:

  /// <summary>
  /// Normalizes the relevance after finalization.
  /// </summary>
  /// <param name="factor">The normalization factor.</param>
  /// <exception cref="InvalidOperationException">If <paramref name="IsFinalized"/> is <c>false</c> (<see cref="M:Finalize"/> was not called).</exception>
  public void NormalizeAfterFinalization(float factor) {
      if (factor < 0)
          throw new ArgumentOutOfRangeException("factor", "Factor must be greater than or equal to zero");

      if (!isFinalized)
          throw new InvalidOperationException("Normalization can be performed only after finalization");
      value = value * factor;
  }

Ho guardato nel menu Strumenti -> Opzioni , e non vedo dove posso modificare il compilatore e dirgli di non preoccuparsi di commenti o errori basati su XHTML.


11
"Correggi il codice" non è ciò che si pone la domanda.
orfdorf

Risposte:


153

Ogni progetto in Visual Studio dispone di un'opzione "considera gli avvisi come errori". Esamina ciascuno dei tuoi progetti e modifica l'impostazione:

  1. Fare clic con il tasto destro sul progetto, selezionare "Proprietà".
  2. Fare clic su "Build".
  3. Cambia "Considera gli avvisi come errori" da "Tutti" a "Avvisi specifici" o "Nessuno".

La posizione di questa opzione varia a seconda del tipo di progetto (libreria di classi e applicazione Web, ad esempio).


1
Sheesh che posto per nasconderlo. Ho cercato ovunque ma in fase di progetto.
nportelli

1
Qualcuno conosce la nuova soluzione per VS2012?
bobble14988

1
Stessa soluzione in VS2012, @ bobble14988.
Michael Petrotta

6
@ bobble14988 In VS2012 puoi trovare quella configurazione in Proprietà progetto-> C / C ++ -> Generale
Hanan N.

1
Mi chiedo perché VS 2017 non stia onorando il passaggio da Tutti a Nessuno. L'ho capovolto, salvato tutto, pulito, ricostruito, uscito da VS, pulito, ricostruito fino alla nausea, ma gli avvisi sono ancora errori. Il file csproj sta cercando falsequella impostazione. Dove diavolo è questo persistente sbagliato ??? Mi arrendo prima che gli sviluppatori MS abbiano una capacità superiore di introdurre bug.
ajeh

13

Affinché Visual Studio Express 2013 elimini questi problemi, devi fare quanto segue.

Fare clic con il tasto destro sul progetto, fare clic su Proprietà. Nella finestra delle proprietà dai menu a sinistra selezionare Proprietà di configurazione-> C / C ++ -> Generale

Nel lato destro selezionare

Considera gli avvisi come errori NO

e

Controlli SDL NO


1
La disabilitazione ha SDL Checksfunzionato per me su Visual Studio 2015. (Ho ricevuto un avviso di deprecazione considerato come un errore)
Kevin Smyth

6

La risposta migliore è obsoleta per Visual Studio 2015.

Inglese:

Configuration Properties -> C/C++ -> General -> Treat Warning As Errors

Tedesco:

Konfigurationseigenschaften -> C/C++ -> Allgemein -> Warnungen als Fehler behandeln

Oppure usa questa immagine come riferimento, molto più facile per capire mentalmente rapidamente la posizione:

inserisci qui la descrizione dell'immagine


1

Puoi controllare il comportamento in un file di intestazione o in un file C:

#pragma warning(error:4003) //not enough actual parameters for macro

ancora testato con Visual Studio 2015. Ho un file di intestazione comune "compl_adaption.h" per queste cose, incluso in tutti i file, per impostare questo comportamento per tutti i miei progetti compilati su Visual Studio.


1

Per trattare tutti gli avvisi del compilatore come errori di compilazione

  1. Con un progetto selezionato in Esplora soluzioni, nel menu Progetto, fare clic su Proprietà.
  2. Fare clic sulla scheda Compila. (o potrebbe essere presente la scheda Build)
  3. Selezionare la casella di controllo Considera tutti gli avvisi come errori. (oppure seleziona l'impostazione di compilazione e modifica le impostazioni "considera gli avvisi come errori" su true.)

e se vuoi sbarazzartene

Per disabilitare tutti gli avvisi del compilatore

  1. Con un progetto selezionato in Esplora soluzioni, nel menu Progetto fare clic su Proprietà.
  2. Fare clic sulla scheda Compila. (o potrebbe essere presente la scheda Build)
  3. Seleziona la casella di controllo Disabilita tutti gli avvisi. (oppure seleziona l'impostazione di compilazione e modifica le impostazioni "considera gli avvisi come errori" su false.)

0

Nelle proprietà,

Vai a Proprietà di configurazione. In questo vai a C / C ++ (o qualcosa del genere). , Quindi fare clic su Generale, in quanto rimuovere il segno di spunta nella casella di controllo "Considera gli avvisi come errori"


0

VS 2019

Solo per le persone che usano VS2019, penso che anche altre risposte stiano indicando la stessa posizione.

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.