Compartir a través de


Migración de analizadores de FxCop de NuGet a 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. Muchas de las reglas de análisis heredadas (FxCop) se han reescrito ya como analizadores de código fuente.

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. Si no desea pasar al SDK de .NET 5+ o si prefiere un modelo basado en paquetes NuGet, los analizadores también están disponibles en el Microsoft.CodeAnalysis.NetAnalyzerspaquete NuGet. Es posible que prefiera un modelo basado en paquetes para las actualizaciones de versiones a petición.

Nota:

Los analizadores de .NET de primera parte son agnósticos respecto de la plataforma de destino. Es decir, el proyecto no necesita tener como destino una plataforma .NET específica. Los analizadores funcionan para proyectos que tienen como destino net5.0 así como versiones anteriores de .NET, como netcoreapp, netstandardy net472.

Pasos de migración

A partir de la versión 3.3.2, Microsoft.CodeAnalysis.FxCopAnalyzers el paquete NuGet está en desuso. Siga los pasos siguientes para migrar el proyecto o la solución de Microsoft.CodeAnalysis.FxCopAnalyzers a los analizadores de .NET:

  1. Desinstalación del Microsoft.CodeAnalysis.FxCopAnalyzers paquete NuGet

  2. Habilite o instale analizadores de .NET. Tenga en cuenta que no es necesario cambiar la plataforma de destino del proyecto.

  3. Habilitar reglas adicionales: Microsoft.CodeAnalysis.NetAnalyzers es mucho más conservador en comparación con Microsoft.CodeAnalysis.FxCopAnalyzers. A diferencia del paquete FxCopAnalyzers, solo tiene algunas reglas de corrección que están habilitadas de forma predeterminada como advertencias de compilación. Puede habilitar reglas adicionales personalizando la propiedad MSBuild AnalysisMode . Por ejemplo, al establecer la propiedad en AllEnabledByDefault se habilitarán todas las reglas de CA aplicables como advertencias de compilación de forma predeterminada.

    <PropertyGroup>
      <AnalysisMode>AllEnabledByDefault</AnalysisMode>
    </PropertyGroup>