2009-02-17 14 views
15

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.La mejor manera de integrar StyleCop con TFS CI

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 acerca de cómo StyleCop debe integrarse con la automatización de construcción, que aconsejan hacer lo mismo usando construir tareas:

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

¿Qué opina? ¿Has tenido proyectos similares y has hecho algo como esto?

Respuesta

30

Algunos puntos para el uso de StyleCop en general:

  • No es necesario tener instalado StyleCop en su (o la construcción) de la máquina - sólo tiene que añadir los binarios de StyleCop a su control de código fuente (alrededor de 1,5 MB de cosas)
  • Entonces sólo tiene que añadir referencia relativa a los archivos del proyecto, así (me dejó fuera < y>):

    Importar proyecto =" .. \ .. \ lib \ Microsoft StyleCop \ Microsoft.StyleCop. Objetivos "

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

  • Para proyectos heredados, puede usar la herramienta proporcionada por Microsoft para establecer automáticamente todos los archivos de origen existentes para ignorar.
  • Puede colocar el archivo de configuración de StyleCop (Settings.StyleCop) en el directorio raíz donde se encuentra su solución VS (y, por supuesto, colocarlo bajo el control de origen). 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 manera StyleCop se integrará en su compilación y, como tal, formará parte de la compilación de CI.

+0

Exactamente cómo mi equipo hace esto. No nos importan los cambios de .csproj, nos ayuda a agregar otras funciones y tareas personalizadas en el camino. –

+1

¡Parece que hay un paquete nuget para esto ahora! : D –

+6

Como referencia, el paquete NuGet es [StyleCop.MSBuild] (http://www.nuget.org/packages/StyleCop.MSBuild/) –

2

se utiliza 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 define un par de variables de entorno para arriba, hacer referencia a ellos en todos los archivos Csproj para que pueda atender diferentes directorios de trabajo para cada desarrollador individual, instale los componentes de StyleCop MSBuild en la máquina de compilación y listo. No se requieren cambios en la construcción del equipo.

1

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

Eso es =)

Cuestiones relacionadas