Aviso como erro - como eliminar estes

91

Não consigo descobrir como me livrar de erros que basicamente não deveriam interromper minha compilação no Visual Studio 2010 e não deveriam ser impedimentos, ou pelo menos eu os corrigirei mais tarde, mas eu não quero que a compilação apenas cometa erros e parar nesses tipos de problemas.

Por exemplo, estou recebendo o seguinte erro:

Erro 1 Aviso como erro: o comentário XML em 'ScrewTurn.Wiki.SearchEngine.Relevance.Finalize (float)' tem uma tag paramref para 'IsFinalized', mas não há nenhum parâmetro com esse nome C: \ www \ Wiki \ Screwturn3_0_2_509 \ SearchEngine \ Relevance.cs 60 70 SearchEngine

para este código:

  /// <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;
  }

Olhei no menu Ferramentas -> Opções e não vejo onde posso ajustar o compilador e dizer para não se preocupar com comentários ou erros baseados em XHTML.

PositiveGuy
fonte
11
"Apenas conserte o código", não é o que a pergunta está pedindo.
Orfdorf

Respostas:

153

Cada projeto no Visual Studio tem uma opção "tratar avisos como erros". Passe por cada um de seus projetos e altere essa configuração:

  1. Clique com o botão direito no seu projeto, selecione "Propriedades".
  2. Clique em "Construir".
  3. Mude "Tratar avisos como erros" de "Todos" para "Avisos específicos" ou "Nenhum".

A localização dessa opção varia, dependendo do tipo de projeto (biblioteca de classes vs. aplicativo da web, por exemplo).

Michael Petrotta
fonte
1
Sheesh que lugar para esconder isso. Procurei em todos os lugares, menos no projeto.
nportelli de
1
Alguém conhece a nova solução para VS2012?
bobble14988
1
Mesma solução em VS2012, @ bobble14988.
Michael Petrotta
6
@ bobble14988 No VS2012 você pode encontrar essa configuração em Propriedades do projeto-> C / C ++ -> Geral
Hanan N.
1
Eu me pergunto por que o VS 2017 não está honrando a mudança de Todos para Nenhum. Eu inverti, salvei tudo, limpei, reconstruí, saí do VS, limpei, reconstruí ad nauseam, mas os avisos ainda são erros. O arquivo csproj é adequado falsepara essa configuração. Onde diabos isso persistiu errado ?? Eu desisto antes que o MS devs tenha uma habilidade superior de introduzir bugs.
ajeh 01 de
13

Para que o Visual Studio Express 2013 se livre desses problemas, você deve fazer o seguinte.

Clique com o botão direito em seu projeto e clique em Propriedades. Na janela de propriedades, nos menus à esquerda, selecione Propriedades de configuração-> C / C ++ -> Geral

No lado direito selecione

Tratar avisos como erros NÃO

e

SDL verifica NÃO

Saleh Enam Shohag
fonte
1
A desativação SDL Checksfuncionou para mim no Visual Studio 2015. (Tive um aviso de suspensão de uso tratado como um erro)
Kevin Smyth,
6

A principal resposta está desatualizada para Visual Studio 2015.

Inglês:

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

Alemão:

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

Ou use esta imagem como referência, de forma mais fácil de descobrir mentalmente a localização:

insira a descrição da imagem aqui

lama12345
fonte
1

Você pode controlar o comportamento em um arquivo de cabeçalho ou arquivo C:

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

ainda testado com Visual studio 2015. Eu tenho um arquivo de cabeçalho comum 'compl_adaption.h' para essas coisas, incluído em todos os arquivos, para definir esse comportamento para todos os meus projetos compilados no visual studio.

Hartmut Schorrig
fonte
1

Para tratar todos os avisos do compilador como erros de compilação

  1. Com um projeto selecionado no Solution Explorer, no menu Projeto, clique em Propriedades.
  2. Clique na guia Compilar. (ou a guia Build pode estar lá)
  3. Marque a caixa de seleção Tratar todos os avisos como erros. (ou selecione a configuração de construção e altere as configurações de "tratar avisos como erros" para verdadeiro.)

e se você quiser se livrar disso

Para desativar todos os avisos do compilador

  1. Com um projeto selecionado no Solution Explorer, no menu Projeto, clique em Propriedades.
  2. Clique na guia Compilar. (ou a guia Build pode estar lá)
  3. Marque a caixa de seleção Desativar todos os avisos. (ou selecione a configuração de construção e altere as configurações de "tratar avisos como erros" para falso.)
Alfa Thakkar
fonte
0

Nas Propriedades,

Vá para Propriedades de configuração. Vá para C / C ++ (ou algo parecido). , Em seguida, clique em Geral, em que remova a seleção na caixa de seleção "Tratar aviso como erros"

Paroda
fonte
0

VS 2019

Apenas para pessoas que usam VS2019, acho que outras respostas também estão apontando a mesma localização.

Yoon5oo
fonte