Compartir a través de


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

El análisis de origen de los analizadores de .NET Compiler Platform ("Roslyn") reemplaza el análisis heredado para el código administrado. Para 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 heredadas (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. Los resultados del analizador se notifican junto con los resultados del compilador.

Para obtener más información sobre las diferencias entre el análisis heredado y el análisis de origen, consulte lo siguiente:

Migración

Para migrar al análisis de origen:

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

    Nota:

    Antes de Visual Studio 2019 16.8 y .NET 5.0, estos analizadores se incluyen como 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 Microsoft.CodeAnalysis.NetAnalyzerspaquete NuGet. Para obtener más información, consulte Migración de analizadores de FxCop a analizadores de .NET.

  2. Para 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 RunCodeAnalysis propiedad en false:

    <RunCodeAnalysis>false</RunCodeAnalysis>

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

Configuración

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