Estoy intentando usar Microsoft.CodeAnalysis.NetAnalyzers en una aplicación .NET 4.5 heredada que no se puede actualizar por motivos .
De acuerdo con la documentación , puede instalar el paquete Microsoft.CodeAnalysis.NetAnalyzers NuGet y usar los analizadores en versiones "anteriores" de .net. Cuantos años, no estoy seguro.
Si no desea pasar al SDK de .NET 5+, tiene un proyecto de .NET Framework que no es de estilo SDK o prefiere un modelo basado en paquetes NuGet, los analizadores también están disponibles en Microsoft.CodeAnalysis.NetAnalyzers NuGet paquete.
Los errores se muestran en la lista de errores de Visual Studio en "Compilación + IntelliSense", pero no se muestran en la "Compilación" normal, por lo que posteriormente la compilación no falla, incluso si hay errores configurados en .editorconfig.
Me imagino que Visual Studio IntelliSense está usando el SDK de .NET 5 para mostrar los errores y luego la compilación real está usando .NET 4.5, ¿entonces no conoce las reglas de análisis? Pero entonces, ¿qué se supone que debe hacer el paquete NuGet?
¿Esto simplemente no es compatible con una versión tan antigua de .NET Framework? Esa cita de la documentación sugiere que algunos marcos más antiguos deberían poder usarlo.
Tengo una aplicación de consola .NET 4.5 de nuevo proyecto en blanco con Microsoft.CodeAnalysis.NetAnalyzers instalado y un .editorconfig simple con una regla de muestra
dotnet_diagnostic.IDE0010.severity = errorSi es así, ¿cuáles son las alternativas? StyleCop "Clásico" ?
Como sé, el análisis de código antiguo usa un archivo de conjunto de ruleset , no .editorconfig . También encontré documentación al respecto . Uso el análisis de código en proyectos de .NET Framework como este:
Properties ,Code Analysis ,Microsoft Managed Recommended Rules de forma predeterminada: haga clic en el botón Configure ,IDE0010 y seleccione error y guarde el conjunto de reglas,Code Analysis tenga su archivo seleccionado en la opción de reglas activas.