Recientemente comencé a usar Code Analysis en mis proyectos en Visual Studio. Creé un conjunto de reglas personalizado para usar con todos mis proyectos que incluyen dos de los conjuntos de reglas definidos por Microsoft. He estado trabajando para integrar FxCop en el proceso de compilación de CI para fallar construcciones que no pasan todas las reglas. Lo que es realmente extraño para mí es que no puedo usar mi conjunto de reglas para definir las reglas contra las que FxCop escanea el código. ¿Cómo lo hago para que las reglas de Análisis de código de Visual Studio coincidan con las reglas de FxCop?FxCop y reglas de análisis de código
Respuesta
Ya tiene un archivo de conjunto de reglas que supongo que ha descubierto cómo integrarlo en sus proyectos y utilizarlo a través de Visual Studio.
Se puede usar esta misma archivo de conjunto de reglas en FxCopCmd.exe
:
FxCopCmd.exe /out:Violations.xml /ruleset:=Custom.ruleset /file:MyAssembly.dll
he hecho esto usando Jenkins y funciona muy bien. Ejecute FxCopCmd.exe
sin argumentos y debería ver las descripciones de todos los modificadores de línea de comandos disponibles.
Muy raro, tuve muchos problemas para encontrar la documentación para la opción/ruleset, pero funcionó. Afortunadamente, me estaba perdiendo algo :-). – Chris
Puede dar un ejemplo para la sintaxis del archivo de conjunto de reglas. No he tenido mucha suerte en hacer que esto funcione. – mikelong
@mikelong: la sintaxis para usar los archivos del conjunto de reglas se muestra en mi respuesta. ¿Cuál es específicamente tu problema? – Bernard
Para nuestra construcción CI tenemos una configuración de compilación especial (además de Debug and Release estándar) que incluye ejecutar análisis de código (tarea MSBuild "RunCodeAnalysis" como recuerdo) y la opción "Tratar advertencia como error". Entonces la compilación falla si tenemos un error FxCop y usa el mismo conjunto de reglas que VS. De esta forma no necesita usar FxCopCmd y puede compartir conjuntos de reglas. Pero debe agregar manualmente esta configuración de compilación a cada proyecto de su solución.
- 1. Análisis de código de Visual Studio frente a StyleCop + FxCop
- 2. Análisis de código/FxCop en VS2008
- 3. Reglas de análisis de código estático personalizadas en FxCop o StyleCop?
- 4. Cómo escribir análisis de código de reglas (FxCop) para evitar una llamada al método
- 5. Las reglas de StyleCop y FxCop se excluyen entre sí
- 6. ¿Cómo compartir las reglas de FxCop entre todos los desarrolladores?
- 7. SQL Server - Reglas de análisis de esquemas/códigos: ¿qué incluirían sus reglas?
- 8. Análisis de código Javascript y mejores prácticas
- 9. ¿Excluye el espacio de nombres completo del análisis de código FxCop?
- 10. ¿Cómo obtener FxCop tiene el mismo conjunto de reglas que el de Visual Studio Code Analysis?
- 11. análisis de código CA1060 Fix
- 12. ¿Cómo se implementa un análisis FxCop/static en una base de código existente
- 13. ¿Alguien ha creado reglas geniales para FxCop/StyleCop?
- 14. Excluyendo la regla de análisis de código en la fuente
- 15. Herramientas de análisis de código estático de TeamCity para .NET
- 16. Asamblea Encuadernación redirección y análisis de código
- 17. No haga caso de las reglas de análisis de código en Visual Studio
- 18. herramienta de análisis de código Java
- 19. Análisis de código C#
- 20. FxCop y GAC Madness
- 21. ¿Debo usar FxCop y por qué?
- 22. FxCop/Code Analysis con VS2010 Ultimate
- 23. ¿Cuáles son las reglas de FxCop "deben seguir" para cualquier desarrollador de C#?
- 24. ¿Cómo evitar que FxCop analice el código generado automáticamente?
- 25. FxCop (o equivalente) para el código no-NET C++
- 26. ¿Cómo comienzas con FxCop en el código heredado?
- 27. sonar sistema de C# eco: código de error FxCop 521
- 28. Java de código estático análisis
- 29. Cambio de la versión del código "reglas"
- 30. ¿Hay una herramienta de autofijación StyleCop/FxCop?
¿Me falta algo por completo o realmente no hay forma de compartir las mismas reglas en FxCop independiente y Code Analysis en Visual Studio? !!!! – Chris
Parece que te estás perdiendo algo. ¿Cómo está intentando ejecutar FxCop desde su compilación CI? –
Lo estoy ejecutando con TeamCity, que ejecuta FxCopCmd.exe. Tengo un archivo de proyecto FxCop que enumera los objetivos y las reglas de listas de FxCop independientes, pero no parece haber una manera fácil de compartir las mismas reglas que Code Analysis está configurado para usar en Visual Studio. Todo funciona, simplemente no parece haber una manera directa de compartir reglas entre el FxCop independiente y el Análisis de código en VS2010. – Chris