Desabilitar a análise de código-fonte para .NET

O Visual Studio permite que você controle se os analisadores de código-fonte são executados no tempo de build e no tempo de design. Há limitações ao que você pode desabilitar, e o procedimento para desativar a análise de código difere dependendo de alguns fatores:

  • Tipo de projeto (.NET Core, .NET Standard e .NET 5+ versus .NET Framework)

    Os projetos .NET Core e .NET Standard e .NET 5+ têm opções na página de propriedades de Code Analysis que permitem desativar a Code Analysis de analisadores instalados como um pacote NuGet. Para obter mais informações, confira projetos .NET Core, .NET Standard e .NET 5+. Em contraste, projetos do .NET Framework requerem que você ajuste propriedades no arquivo de projeto. Para desativar a análise de código-fonte para projetos do .NET Framework, confira projetos do .NET Framework.

  • Análise de fonte X análise herdada

    Este artigo se aplica à análise de código-fonte e não à análise herdada (binária). Para obter informações sobre como desabilitar a análise herdada, confira Habilitar e desabilitar a Code Analysis binário para código gerenciado.

Projetos .NET Core, .NET Standard e .NET 5+

A partir do Visual Studio 2022 versão 17.0.4 e mais recente fornece duas caixas de seleção disponíveis na página de propriedades de Code Analysis que permitem controlar se os analisadores são executados em tempo de build e tempo de design. Para desabilitar o Code Analysis em seu projeto, siga estas etapas:

  1. Clique com o botão direito do mouse no nó do projeto no Gerenciador de soluções e, em seguida, selecione Propriedades.

  2. Selecione Code Analysis.

    A página de propriedades Code Analysis é aberta.

    Captura de tela que mostra a página de propriedades Code Analysis.

  3. Para desabilitar a análise de origem em tempo de build, em Executar no build, desmarque Sempre executar Code Analysis no build.

  4. Para desabilitar a análise de origem dinâmica, em Executar na análise dinâmica, desmarque Executar Code Analysis dinâmica no editor enquanto digita.

Nota

A partir do Visual Studio 2022 versão 17.0.4, se você preferir o fluxo de trabalho de execução de análise de código sob demanda, poderá desabilitar a execução do analisador durante a análise dinâmica. Ou crie e acione manualmente a Code Analysis uma vez em um projeto ou em uma solução sob demanda. Para obter informações sobre como executar a Code Analysis manualmente, confira Executar Code Analysis manualmente para .NET.

Projetos .NET Framework

Para desativar a análise de código-fonte para analisadores, adicione uma ou mais das seguintes propriedades MSBuild ao arquivo de projeto.

Propriedade do MSBuild Descrição Padrão
RunAnalyzersDuringBuild Controla se os analisadores são executados em tempo de build. true
RunAnalyzersDuringLiveAnalysis Controla se os analisadores analisam o código em tempo real no tempo de design. true
RunAnalyzers Definir essa propriedade como false desabilita os analisadores no tempo de build e de design. Tem precedência sobre RunAnalyzersDuringBuild e RunAnalyzersDuringLiveAnalysis. true

Por exemplo:

<RunAnalyzersDuringBuild>false</RunAnalyzersDuringBuild>
<RunAnalyzersDuringLiveAnalysis>false</RunAnalyzersDuringLiveAnalysis>
<RunAnalyzers>false</RunAnalyzers>

Esta página ajuda você a desabilitar a Code Analysis no Visual Studio. Há limitações ao que você pode desabilitar, e o procedimento para desativar a análise de código difere dependendo de alguns fatores:

  • Tipo de projeto (.NET Core, .NET Standard e .NET 5+ versus .NET Framework)

    Os projetos .NET Core e .NET Standard e .NET 5+ têm opções na página de propriedades de Code Analysis que permitem desativar a Code Analysis de analisadores instalados como um pacote NuGet. Para obter mais informações, confira projetos .NET Core, .NET Standard e .NET 5+. Para desativar a análise de código-fonte para projetos no .NET Framework, confira projetos do .NET Framework.

  • Análise de fonte X análise herdada

    Este artigo se aplica à análise de código-fonte e não à análise herdada (binária). Para obter informações sobre como desabilitar a análise herdada, confira Habilitar e desabilitar a Code Analysis binário para código gerenciado.

Projetos .NET Core, .NET Standard e .NET 5+

A partir do Visual Studio 2019 versão 16.3 e mais recente fornece duas caixas de seleção disponíveis na página de propriedades da Code Analysis que permite controlar se os analisadores são executados no tempo de build e no tempo de design. Essas opções são específicas do projeto.

Captura de tela que mostra a página de propriedades Code Analysis.

Para abrir esta página, clique com o botão direito do mouse no nó do projeto no Gerenciador de Soluções e selecione Propriedades. Selecione a guia Code Analysis.

  • Para desabilitar a análise de origem no momento do build, desmarque a opção Executar no build.
  • Para desabilitar a análise de origem dinâmica, desmarque a opção Executar em análise dinâmica.

Nota

A partir do Visual Studio 2019 versão 16.5, se você preferir o fluxo de trabalho de execução de Code Analysis sob demanda, pode desabilitar a execução do analisador durante a análise dinâmica. Ou crie e acione manualmente a Code Analysis uma vez em um projeto ou em uma solução sob demanda. Para obter informações sobre como executar a Code Analysis manualmente, confira Executar Code Analysis manualmente para .NET.

Projetos .NET Framework

Para desativar a análise de código-fonte para analisadores, adicione uma ou mais das seguintes propriedades MSBuild ao arquivo de projeto.

Propriedade do MSBuild Descrição Padrão
RunAnalyzersDuringBuild Controla se os analisadores são executados em tempo de build. true
RunAnalyzersDuringLiveAnalysis Controla se os analisadores analisam o código em tempo real no tempo de design. true
RunAnalyzers Definir essa propriedade como false desabilita os analisadores no tempo de build e de design. Tem precedência sobre RunAnalyzersDuringBuild e RunAnalyzersDuringLiveAnalysis. true

Por exemplo:

<RunAnalyzersDuringBuild>false</RunAnalyzersDuringBuild>
<RunAnalyzersDuringLiveAnalysis>false</RunAnalyzersDuringLiveAnalysis>
<RunAnalyzers>false</RunAnalyzers>