Estoy intentando habilitar el análisis de código a través de Nuget para una aplicación web .Net Framework 4.72 existente. Para ser sincero, la documentación me confunde en cuanto a qué paquetes instalar.
He instalado Microsoft.CodeAnalysis.NetAnalyzers mediante nuget.
Lo siguiente está en mi archivo csproj:
<PropertyGroup>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
...
<EnableNETAnalyzers>true</EnableNETAnalyzers>
<AnalysisMode>AllEnabledByDefault</AnalysisMode>
Este código está cargado de problemas, pero solo se enumeran los dos elementos siguientes:
warning CA2237: Add [Serializable] to ParseException as this type implements ISerializable
warning CA1001: Type 'Repository' owns disposable field(s) '_context' but is not disposable
¿Hay otros paquetes para cargar?
Si instala el paquete NuGet Microsoft.CodeAnalysis.NetAnalyzers, no debe agregarla propiedad EnableNETAnalyzers a su archivo de proyecto o a un archivo Directory.Build.props. Cuando se instala el paquete NuGet y la propiedad EnableNETAnalyzers se establece en verdadero, se genera una advertencia de compilación. Consulte este artículo para obtener más detalles: learn.microsoft.com/en-us/dotnet/fundamentals/code-analysis/…
- Boris Makhlin
7 de enero de 2022 a las 16:28
------------------------------------
Si ves diagnósticos de CA***, entonces está funcionando.
Puedes activar más diagnósticos en tus proyectos a través de la opción "Dependencias". árbol (ampliar la anodo analizadores).
Además, debe agregar esta PackageReference y las propiedades asociadas a cada proyecto de su solución. Quizás quieras hacer esto en un archivo Directory.Build.props.
¿Por qué crees que deberías ver más diagnósticos?
------------------------------------
La respuesta está en el nodo Referencias\Analizadores del proyecto .Net Framework.
Puedo verificar la presencia de Microsoft.CodeAnalysis.NetAnalyzers.
Las reglas ahora están predeterminadas al mínimo, lo que significa que solo hay 2 problemas en mi aplicación.
Haga clic derecho en Analizadores|Abrir conjunto de reglas activo... y las reglas se pueden personalizar.
No lo hizoayudar a este proyecto heredado es un poco complicado. Tuve que hacer un nuevo proyecto e incorporar las piezas del Analizador.