tfs msbuild coding-style continuous-integration stylecop

La mejor forma de integrar StyleCop con TFS CI



msbuild coding-style (3)

He estado investigando sobre cómo habilitar el análisis de fuente para el proyecto en el que estoy trabajando y planeo usar StyleCop. La configuración que tengo es un servidor TFS para el control de fuente, usando TFS Continuous Integration. Quiero habilitar el análisis de origen para las compilaciones de CI y las compilaciones diarias que se ejecutan en la máquina de compilación, y no solo para las que se ejecutan en las máquinas de los desarrolladores.

Aquí hay un artículo de la documentación de StyleCop que leo sobre el tema: http://blog.newagesolution.net/2008/07/how-to-use-stylecop-and-msbuild-and.html . Básicamente modifica el archivo csproj para este fin.

También he leído otras opiniones sobre cómo StyleCop debe integrarse con la automatización de compilación, que aconseja hacer lo mismo con las tareas de compilación:

http://blog.newagesolution.net/2008/07/how-to-use-stylecop-and-msbuild-and.html http://freetodev.spaces.live.com/blog/cns!EC3C8F2028D842D5!400.entry .

¿Cuáles son sus opiniones? ¿Has tenido proyectos similares y has hecho algo como esto?


Algunos puntos para usar StyleCop en general:

  • No necesita tener instalado StyleCop en su máquina (o en la de creación): simplemente agregue los binarios de StyleCop a su control de origen (aproximadamente 1.5 MB de cosas)
  • Luego simplemente agregue la referencia relativa a sus archivos de proyecto, así (dejé afuera <y>):

    Importar proyecto = ".. / .. / lib / Microsoft StyleCop / Microsoft.StyleCop.Targets"

  • Tratamos todas las advertencias de StyleCop como errores utilizando la configuración StyleCopTreatErrorsAsWarnings en el archivo del proyecto.

  • Para proyectos heredados, puede usar la herramienta provista por Microsoft para configurar automáticamente todos los archivos fuente existentes para ignorar.
  • Puede colocar el archivo de configuración de StyleCop ( Settings.StyleCop ) en el directorio raíz donde está su solución VS (y, por supuesto, colocarlo bajo el control de fuente). StyleCop sabe cómo encontrar este archivo automáticamente (consultando el árbol de directorios). De esta forma puede tener configuraciones personalizadas para cada solución.
  • Desactivamos ciertas reglas de StyleCop que creemos que no son muy prácticas de seguir.

De esta forma, StyleCop se integrará en su etapa de compilación y, como tal, formará parte de la compilación de CI.


Usamos el enfoque en los siguientes artículos con éxito en un par de proyectos ...

http://blogs.msdn.com/sourceanalysis/pages/source-analysis-msbuild-integration.aspx http://blogs.msdn.com/sourceanalysis/archive/2008/11/11/introducing-stylecop-on-legacy -projects.aspx

básicamente usted establece un par de variables de entorno, las referencia en todos los archivos .csproj para que pueda atender diferentes directorios de trabajo para cada desarrollador individual, instalar los componentes de StyleCop MSBuild en la máquina de compilación y listo. No se requieren cambios en la construcción del equipo.


Vaya a Visual Studio, haga clic con el botón secundario en Solución> Gestionar paquetes Nuget> Instalar StyleCop.MSBuild .

Eso es todo =)