Deshabilitación del análisis de código fuente para .NET

Visual Studio permite controlar si los analizadores de código fuente se ejecutan en tiempo de compilación y tiempo de diseño. Hay limitaciones en lo que puede deshabilitar y el procedimiento para desactivar el análisis de código difiere en función de algunos factores:

  • Tipo de proyecto (.NET Core, .NET Standard y .NET 5+ frente a .NET Framework)

    Los proyectos de .NET Core, .NET Standard y .NET 5+ tienen opciones en su página de propiedades de Code Analysis que le permiten desconectar el análisis de código de los analizadores instalados como un paquete NuGet. Para obtener más información, vea proyectos de .NET Core, .NET Standard y .NET 5+. Por el contrario, los proyectos de .NET Framework requieren que establezca propiedades en el archivo de proyecto. Para desactivar el análisis de código fuente para proyectos de .NET Framework, consulte Proyectos de .NET Framework.

  • Análisis de origen frente a análisis heredado

    Este artículo se aplica al análisis de código fuente y no al análisis heredado (binario). Para obtener información sobre cómo deshabilitar el análisis antiguo, vea Habilitar y deshabilitar el análisis de código binario para código administrado.

Proyectos de .NET Core, .NET Standard y .NET 5+

A partir de la versión 17.0.4 de Visual Studio 2022, hay dos casillas disponibles en la página de propiedades de Code Analysis que permiten controlar si los analizadores se ejecutan en tiempo de compilación y tiempo de diseño. Para deshabilitar Code Analysis nativo en el proyecto, siga estos pasos:

  1. En el Explorador de soluciones, haga clic con el botón derecho en el nodo del proyecto y seleccione Propiedades.

  2. Seleccione Code Analysis.

    Se abrirá la página de propiedades de Code Analysis.

    Captura de pantalla que muestra la página de propiedades de Code Analysis.

  3. Para deshabilitar el análisis de código fuente en tiempo de compilación, en Ejecutar en compilación, desactive Ejecutar siempre el análisis de código en la compilación.

  4. Para deshabilitar el análisis de código fuente en directo, en Ejecución durante el análisis en directo, desactive Ejecutar análisis de código en directo en el editor mientras escribe.

Nota:

A partir de la versión 17.0.4 de Visual Studio 2022, si prefiere el flujo de trabajo de ejecución de análisis de código a petición, puede deshabilitar la ejecución del analizador durante el análisis en directo. O bien, compile y desencadene manualmente el análisis de código una vez en un proyecto o una solución a petición. Para obtener información sobre cómo ejecutar el análisis de código manualmente, vea Ejecutar análisis de código manualmente para .NET.

Proyectos de .NET Framework

Para desactivar el análisis de código fuente para analizadores, agregue una o varias de las siguientes propiedades de MSBuild al archivo del proyecto.

Propiedad de MSBuild Descripción Valor predeterminado
RunAnalyzersDuringBuild Controla si los analizadores se ejecutan en tiempo de compilación. true
RunAnalyzersDuringLiveAnalysis Controla si los analizadores analizan el código en directo en tiempo de diseño. true
RunAnalyzers Si configura esta propiedad como false, se deshabilitarán los analizadores en tiempo de compilación y de diseño. Tiene precedencia sobre RunAnalyzersDuringBuild y RunAnalyzersDuringLiveAnalysis. true

Por ejemplo:

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

Esta página le ayuda a deshabilitar el análisis de código en Visual Studio. Hay limitaciones en lo que puede deshabilitar y el procedimiento para desactivar el análisis de código difiere en función de algunos factores:

  • Tipo de proyecto (.NET Core, .NET Standard y .NET 5+ frente a .NET Framework)

    Los proyectos de .NET Core, .NET Standard y .NET 5+ tienen opciones en su página de propiedades de Code Analysis que le permiten desconectar el análisis de código de los analizadores instalados como un paquete NuGet. Para obtener más información, vea proyectos de .NET Core, .NET Standard y .NET 5+. Para obtener información sobre cómo desconectar el análisis de código fuente para proyectos de .NET Framework, consulte Proyectos de .NET Framework.

  • Análisis de origen frente a análisis heredado

    Este artículo se aplica al análisis de código fuente y no al análisis heredado (binario). Para obtener información sobre cómo deshabilitar el análisis antiguo, vea Habilitar y deshabilitar el análisis de código binario para código administrado.

Proyectos de .NET Core, .NET Standard y .NET 5+

A partir de la versión 16.3 de Visual Studio 2019, hay dos casillas disponibles en la página de propiedades de Code Analysis que permiten controlar si los analizadores se ejecutan en tiempo de compilación y tiempo de diseño. Estas opciones son específicas del proyecto.

Captura de pantalla que muestra la página de propiedades de Code Analysis.

Para abrir esta página, haga clic con el botón derecho en el nodo del proyecto en el Explorador de soluciones y seleccione Propiedades. Seleccione la pestaña Análisis de código.

  • Para deshabilitar el análisis de origen en tiempo de compilación, borre la opción Ejecutar durante la compilación.
  • Para deshabilitar el análisis de origen en directo, desactive la opción Ejecutar durante el análisis en directo.

Nota:

A partir de la versión 16.5 de Visual Studio 2019, si prefiere el flujo de trabajo de ejecución de análisis de código a petición, puede deshabilitar la ejecución del analizador durante el análisis en directo. O bien, compile y desencadene manualmente el análisis de código una vez en un proyecto o una solución a petición. Para obtener información sobre cómo ejecutar el análisis de código manualmente, vea Ejecutar análisis de código manualmente para .NET.

Proyectos de .NET Framework

Para desactivar el análisis de código fuente para analizadores, agregue una o varias de las siguientes propiedades de MSBuild al archivo del proyecto.

Propiedad de MSBuild Descripción Valor predeterminado
RunAnalyzersDuringBuild Controla si los analizadores se ejecutan en tiempo de compilación. true
RunAnalyzersDuringLiveAnalysis Controla si los analizadores analizan el código en directo en tiempo de diseño. true
RunAnalyzers Si configura esta propiedad como false, se deshabilitarán los analizadores en tiempo de compilación y de diseño. Tiene precedencia sobre RunAnalyzersDuringBuild y RunAnalyzersDuringLiveAnalysis. true

Por ejemplo:

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