Migración de los analizadores NuGet FxCop a los 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. Muchas de las reglas de análisis heredado (FxCop) ya se han reescrito como analizadores de orígenes.
Antes de Visual Studio 2019 16.8 y .NET 5.0, estos analizadores se incluyen como un paquete NuGet Microsoft.CodeAnalysis.FxCopAnalyzers
.
A partir de Visual Studio 2019 16.8 y .NET 5.0, estos analizadores se incluyen con el SDK de .NET. Si no quiere cambiar al SDK de .NET 5 o versiones posteriores, o si prefiere un modelo basado en paquetes NuGet, los analizadores también están disponibles en el paquete NuGet Microsoft.CodeAnalysis.NetAnalyzers
. Es posible que prefiera un modelo basado en paquetes para las actualizaciones de versión a petición.
Nota
Los analizadores de .NET propios son independientes de la plataforma de destino. Es decir, el proyecto no necesita tener como destino una plataforma .NET específica. Los analizadores funcionan para los proyectos que tienen net5.0
como destino, así como las versiones anteriores de .NET, como netcoreapp
, netstandard
y net472
.
Pasos de migración
A partir de la versión 3.3.2
, el paquete NuGet Microsoft.CodeAnalysis.FxCopAnalyzers
se ha puesto en desuso. Realice los pasos siguientes para migrar el proyecto o la solución de Microsoft.CodeAnalysis.FxCopAnalyzers
a los analizadores de .NET:
Desinstalación del paquete NuGet
Microsoft.CodeAnalysis.FxCopAnalyzers
Habilite o instale los analizadores de .NET. Tenga en cuenta que no es necesario cambiar la plataforma de destino del proyecto.
Habilite reglas adicionales:
Microsoft.CodeAnalysis.NetAnalyzers
es mucho más conservador en comparación conMicrosoft.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. Para habilitar reglas adicionales, personalice la propiedad AnalysisMode de MSBuild. Por ejemplo, al establecer la propiedad enAllEnabledByDefault
se habilitarán todas las reglas de CA aplicables como advertencias de compilación de forma predeterminada.<PropertyGroup> <AnalysisMode>AllEnabledByDefault</AnalysisMode> </PropertyGroup>