c# - Análisis de código de Visual Studio en proyectos de .Net Framework

CorePress2024-01-25  11

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.

Su guía para un futuro mejor - libreflare
Su guía para un futuro mejor - libreflare