Migración del análisis heredado (FxCop) al análisis de código fuente (analizadores de .NET)

El análisis de código fuente de los analizadores de .NET Compiler Platform ("Roslyn") reemplaza el análisis heredado del código administrado. En el caso de las plantillas de proyecto más recientes, como los proyectos de .NET Core y .NET Standard, el análisis heredado no está disponible.

Muchas de las reglas de análisis heredado (FxCop) ya se han reescrito para los analizadores de .NET, un conjunto de analizadores de código de Roslyn. Los analizadores de Roslyn ejecutan análisis basados en código fuente durante la ejecución del compilador. Se notifican los resultados del analizador junto con los del compilador.

Para obtener más información sobre las diferencias entre el análisis heredado y el análisis de código fuente, vea lo siguiente:

Migración

Para migrar al análisis de origen, haga lo siguiente:

  1. Habilite o instale los analizadores de .NET. Al igual que las infracciones de las reglas de análisis heredados, las infracciones de análisis de código fuente se muestran en la ventana Lista de errores de Visual Studio. Además, las infracciones de análisis de código fuente también se muestran en el editor de código como subrayados ondulados bajo el código infractor. El color del subrayado ondulado depende del valor de gravedad de la regla. Para ver el estado de las reglas portadas a los nuevos analizadores de .NET, vea Reglas portadas y no portadas.

    Nota

    Antes de Visual Studio 2019 16.8 y .NET 5.0, estos analizadores se incluyen como un Microsoft.CodeAnalysis.FxCopAnalyzerspaquete NuGet. A partir de Visual Studio 2019 16.8 y .NET 5.0, estos analizadores se incluyen con el SDK de .NET. También están disponibles como un Microsoft.CodeAnalysis.NetAnalyzerspaquete NuGet. Para obtener más información, vea Migración de analizadores de FxCop a analizadores de .NET.

  2. A fin de resolver CA0507, asegúrese de que el análisis de código heredado está deshabilitado para el proyecto. En el archivo del proyecto, establezca la propiedad RunCodeAnalysis en false:

    <RunCodeAnalysis>false</RunCodeAnalysis>

    O bien, abra Propiedades del proyecto>Análisis de código y deshabilite la opción Ejecutar en compilación.

Configuración

Para obtener más información sobre cómo configurar los analizadores de .NET: