Comparteix a través de


Información general sobre el análisis heredado para código administrado en Visual Studio

Visual Studio puede realizar análisis de código de código administrado de dos maneras: con análisis heredado, también conocido como análisis estático FxCop de ensamblados administrados, y con los analizadores de código más modernos basados en .NET Compiler Platform. En este tema se trata el análisis heredado. Para obtener más información sobre el análisis de código basado en .NET Compiler Platform, consulte Introducción a los analizadores basados en .NET Compiler Platform.

En el análisis de código administrado se analizan los ensamblados administrados y se muestra información sobre dichos ensamblados, como por ejemplo las infracciones de las reglas de programación y las reglas de diseño estipuladas en las instrucciones de diseño .NET.

La herramienta de análisis representa las comprobaciones que realiza durante un análisis como mensajes de advertencias. Los mensajes de advertencia identifican cualquier problema pertinente de programación y diseño y, cuando es posible, proporcionan información sobre la solución del problema.

Nota

El análisis heredado (análisis de código estático) no se admite para proyectos de .NET Core y .NET Standard en Visual Studio. Si ejecuta el análisis de código en un proyecto de .NET Core o .NET Standard como parte de msbuild, verá un error similar al error : CA0055 : No se pudo identificar la plataforma para <your.dll>. Para analizar código en proyectos de .NET Core o .NET Standard, use analizadores de código en su lugar.

Integración del IDE (entorno de desarrollo integrado)

Puede ejecutar el análisis de código en el proyecto manual o automáticamente.

Para ejecutar el análisis de código cada vez que compile un proyecto, seleccione la opción en la página de propiedades Análisis de código del proyecto. Para obtener más información, consulte Cómo: Habilitar y deshabilitar el análisis de código automático.

Para ejecutar el análisis de código manualmente en un proyecto, en la barra de menús, elija Analizar>Ejecutar análisis de código>Ejecutar análisis de código en el <proyecto>.

Conjuntos de reglas

Las reglas de análisis del código administrado se agrupan en conjuntos de reglas. Puede usar uno de los conjuntos de reglas estándar de Microsoft o puede crear un conjunto de reglas personalizado para satisfacer una necesidad concreta.

Suprimir advertencias

Normalmente, resulta útil indicar que una advertencia no es aplicable. De este modo, informa al desarrollador y a cualquier otra persona que pudiera revisar el código en el futuro de que se ha investigado una advertencia y se ha suprimido u omitido.

La supresión de advertencias en el código fuente se implementa mediante atributos personalizados. Para suprimir una advertencia, agregue el atributo SuppressMessage al código fuente como se muestra en el ejemplo siguiente:

[System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1039:ListsAreStrongTyped")]
Public class MyClass
{
   // code
}

Para obtener más información, vea Suprimir advertencias.

Nota

Si migra un proyecto a Visual Studio 2019, es posible que de repente se encuentre con un gran número de advertencias de análisis de código. Si no está listo para corregir las advertencias, puede suprimirlas todas. Para ello, seleccione Analizar>Compilar y suprimir problemas activos.

Ejecutar el análisis de código como parte de la directiva de inserción en el repositorio

En una organización, puede ser necesario exigir que todas las protecciones cumplan determinadas directivas. En particular, es importante asegurarse de que se respeten estas directivas:

  • No hay ningún error de compilación en el código que se protege.

  • Se ejecuta un análisis de código como parte de la compilación más reciente.

Para conseguirlo, se especifican las directivas de protección. Para más información, consulte Mejorar la calidad del código con directivas de protección del proyecto.

Integración de compilación de equipo

Puede utilizar las características integradas del sistema de generación para ejecutar la herramienta de análisis como parte del proceso de generación. Para obtener más información, consulte Azure Pipelines.