Ejecutamos Code Analysis en todos nuestros archivos fuente. Uno de nuestros archivos fuente es un archivo generado Linq-To-SQL, que no tenemos control sobre el resultado generado. El código generado produce advertencias de análisis de código que me gustaría suprimir. ¿Hay alguna forma de que pueda suprimir las advertencias de CA en un archivo generado por código que no implique la creación de atributos y/o pragma en el código en sí (que se sobrescribirá cada vez que se genere el archivo)?Análisis de código en un archivo generado generador de código - ¿Cómo suprimir advertencias?
Respuesta
¿Sus clases tienen el atributo [GeneratedCode]? Si es así usted puede conseguir FxCop hacer caso omiso de ellas:
Usando un proyecto FxCop:
- Abra su proyecto FxCop en FxCop
- Seleccione Proyecto -> Opciones -> Ortografía & Análisis
- Comprobar Suprima los resultados del análisis con el código generado
- Haga clic en Aceptar
A través de la línea de comandos:
- pasar el parámetro/ignoregeneratedcode, por ejemplo:
FxCopCmd.exe /file:MyAssembly.dll /out:AnalysisResults.xml /ignoregeneratedcode
Si está utilizando la interfaz gráfica de usuario FxCop simplemente podría excluir estos problemas dentro del proyecto FxCop. Simplemente haga clic derecho en el problema y seleccione Excluir donde pueda además de agregar un comentario.
Pero si ejecuta FxCop en la ventana de salida, no tengo ni idea. Tal vez podría verificar si es posible crear un SuppressMessage a nivel de módulo y pegarlo en AssemblyInfo.cs. Pero no lo creo
hay otra respuesta en una pregunta relacionada aquí en SO que indica que puede agregar la supresión de nivel de módulo a assemblyinfo.cs, pero lo intenté y no pude hacerlo funcionar. Podría agregar SuppressMessage a cada método individual, pero eso es un dolor en el cuello cuando quiero ignorar el error para todo en un ensamble en particular. ¡Con suerte, alguien responderá con una solución a esto! – Dave
Puede solucionar la falta del atributo GeneratedCode
utilizando su propia rama de las clases parciales para aplicar ese atributo. Esto significará que se excluirá cualquier código personalizado que agregue (incluidos los métodos parciales de implementación). Ejemplo:
namespace MyApp.DB {
[GeneratedCode("LINQ To SQL", "4.0")]
internal partial class MyAppDataContext {
}
// Repeat for each entity
}
El PLINQO (Linq-to-SQL) CodeSmith templates también genera este atributo automáticamente. La mayoría de los complementos también comienzan a ignorar las clases parciales que se generan con ".generated" en el nombre del archivo.
[System.CodeDom.Compiler.GeneratedCode ("CodeSmith", "5.0.0.0")]
- 1. ¿Cómo suprimir el análisis de código en el código generado?
- 2. ¿Cómo se configura StyleCop para suprimir las advertencias en el código generado?
- 3. Deshabilitar advertencias de análisis de código .NET
- 4. Deshabilitar/corregir advertencias de análisis de código de archivos .Designer.cs
- 5. qué significa "suprimir los resultados del código generado"
- 6. ¿cómo puedo suprimir todas las advertencias de compilación y análisis de código de msbuild en la línea de comandos?
- 7. Generador de código Python
- 8. Cómo suprimir advertencias para un archivo de ActionScript?
- 9. ¿Cómo suprimir las advertencias de Perl emitidas desde dentro del código de un módulo cargado?
- 10. Generador de código XSD
- 11. Cómo suprimir múltiples advertencias de FindBugs para la misma línea de código
- 12. Generador de código ASP.NET
- 13. generador de código C#
- 14. Suprimir las advertencias de Doxygen
- 15. Excluyendo la regla de análisis de código en la fuente
- 16. ¿Cómo puedo suprimir las advertencias (en toda la base de código) durante la compilación javadoc?
- 17. ¿Cómo ver "código HTML generado" en Firefox?
- 18. Suprimir advertencias obsoletas en VB.NET
- 19. soap ui código generado
- 20. ¿Por qué no puedo suprimir advertencias en un paquete?
- 21. ¿Cómo debo probar la unidad de un generador de código?
- 22. ¿Puedo suprimir las infracciones de análisis de código de FX Cop en todo el mundo?
- 23. Análisis de código C#
- 24. Suprimir las advertencias DBML de LINQ a SQL
- 25. Análisis de código/FxCop en VS2008
- 26. Biblioteca Java para análisis de código
- 27. Suprime la advertencia para código C# generado
- 28. F # Suprimir advertencias
- 29. Suprimir advertencias obsoletas en Xcode
- 30. Cómo suprimir advertencias en Qt Creator
qué SuppressMessage funciona si llamo a fxcopcmd.exe usando la línea de comandos? – Kiquenet
Sí debería – Paolo