Compartilhar via


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

O Visual Studio permite controlar se os analisadores de código-fonte são executados no tempo de build e no tempo de design. Há limitações para o 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, .NET Standard e .NET 5+ têm opções na página de propriedades de Análise de Código que permitem desativar a análise de código dos analisadores instalados como um pacote NuGet. Para obter mais informações, consulte projetos .NET Core, .NET Standard e .NET 5+. Por outro lado, os projetos do .NET Framework exigem que você defina propriedades no arquivo de projeto. Para desativar a análise de código-fonte para projetos do .NET Framework, consulte projetos do .NET Framework.

  • Análise de origem versus 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, consulte Habilitar e desabilitar a análise de código binário para código gerenciado.

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

O Visual Studio 2022 versão 17.0.4 e versões posteriores fornece duas caixas de seleção na página de propriedades de Análise de Código para controlar se os analisadores são executados durante a compilação e durante o tempo de design. Para desabilitar a análise de código 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 selecione Propriedades.

  2. Selecione Code Analysis.

    A página de propriedades de Análise de Código é aberta.

    Captura de tela que mostra a página de propriedades de Análise de Código.

  3. Para desativar a análise de código no momento da compilação, em Executar na compilação, desmarque Sempre executar análise de código na compilação.

  4. Para desabilitar a análise de origem em tempo real, na opção Executar em análise ao vivo, desmarque Executar análise de código em tempo real no editor enquanto você digita.

Observação

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 você pode criar e disparar manualmente a análise de código uma vez em um projeto ou em uma solução sob demanda. Para obter informações sobre como executar a análise de código manualmente, consulte Executar análise de código manualmente para .NET.

Projetos do .NET Framework

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

Propriedade MSBuild Descrição Padrão
RunAnalyzersDuringBuild Controla se os analisadores são executados em tempo de build. true
RunAnalyzersDuringLiveAnalysis Controla se os analisadores executam uma análise de código ao vivo durante o design. true
RunAnalyzers Definir essa propriedade para false desabilitar os analisadores durante a compilação e o design. Ele tem precedência sobre RunAnalyzersDuringBuild e RunAnalyzersDuringLiveAnalysis. true

Por exemplo:

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

Esta página permite desabilitar a análise de código no Visual Studio. Há limitações para o 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, .NET Standard e .NET 5+ têm opções na página de propriedades de Análise de Código que permitem desativar a análise de código dos analisadores instalados como um pacote NuGet. Para obter mais informações, consulte projetos .NET Core, .NET Standard e .NET 5+. Para obter informações sobre como desativar a análise de código-fonte em projetos do .NET Framework, consulte projetos do .NET Framework.

  • Análise de origem versus 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, consulte Habilitar e desabilitar a análise de código binário para código gerenciado.

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

O Visual Studio 2019 versão 16.3 e posterior fornece duas caixas de seleção na página de propriedades da Análise de Código que permitem controlar se os analisadores são executados em tempo de compilação e tempo de design. Essas opções são específicas do projeto.

Captura de tela que mostra a página de propriedades de Análise de Código.

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 Análise de Código .

  • 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 .

Observação

A partir do Visual Studio 2019 versão 16.5, 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 você pode criar e disparar manualmente a análise de código uma vez em um projeto ou em uma solução sob demanda. Para obter informações sobre como executar a análise de código manualmente, consulte Executar análise de código manualmente para .NET.

Projetos do .NET Framework

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

Propriedade MSBuild Descrição Padrão
RunAnalyzersDuringBuild Controla se os analisadores são executados em tempo de build. true
RunAnalyzersDuringLiveAnalysis Controla se os analisadores executam uma análise de código ao vivo durante o design. true
RunAnalyzers Definir essa propriedade para false desabilitar os analisadores durante a compilação e o design. Ele tem precedência sobre RunAnalyzersDuringBuild e RunAnalyzersDuringLiveAnalysis. true

Por exemplo:

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