2009-02-17 14 views
15

Ich habe erforscht, wie Quellenanalyse für das Projekt, an dem ich arbeite, aktiviert wurde und ich beabsichtige, StyleCop zu verwenden. Das Setup, das ich habe, ist ein TFS-Server für die Quellcodeverwaltung, der die kontinuierliche TFS-Integration verwendet. Ich möchte die Quellenanalyse für CI-Builds und tägliche Builds aktivieren, die auf der Build-Maschine ausgeführt werden und nicht nur für die auf den Maschinen der Entwickler ausgeführten Builds.Beste Art, StyleCop mit TFS CI zu integrieren

Hier ist ein Artikel aus der Dokumentation von StyleCop, die ich zu dem Thema gelesen habe: http://blog.newagesolution.net/2008/07/how-to-use-stylecop-and-msbuild-and.html. Es ändert grundsätzlich die csproj-Datei für den Zweck.

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

Ich habe gelesen, auch andere Meinungen darüber, wie StyleCop sollte mit Build-Automatisierung integriert werden, die die gleiche Sache raten zu tun.

Was sind Ihre Meinungen? Hattest du ähnliche Projekte und hast so etwas gemacht?

Antwort

30

Einige Punkte für die Verwendung von StyleCop im Allgemeinen:

  • Sie brauchen nicht auf (oder der Build) Maschine StyleCop installiert haben - einfach StyleCop der Binärdateien zu Quellcodeverwaltung (ca. 1,5 MB Sachen hinzufügen)
  • Dann einfach den relativen Bezug auf Ihre Projektdateien hinzufügen, wie diese (I < links und>):

    Projekt importieren =“.. \ .. \ lib \ Microsoft StyleCop \ Microsoft.StyleCop. Ziele "

  • Wir behandeln alle StyleCop-Warnungen als Fehler unter Verwendung der Einstellung in der Projektdatei.

  • Bei älteren Projekten können Sie mit dem von Microsoft bereitgestellten Tool automatisch alle vorhandenen Quelldateien ignorieren.
  • Sie können die StyleCop-Einstellungsdatei (Settings.StyleCop) in das Stammverzeichnis Ihrer VS-Lösung einfügen (und natürlich unter das Quellcode-Steuerelement stellen). StyleCop weiß, wie man diese Datei automatisch findet (indem man den Verzeichnisbaum durchsucht). Auf diese Weise können Sie benutzerdefinierte Einstellungen für jede Lösung vornehmen.
  • Wir haben bestimmte StyleCop-Regeln deaktiviert, die unserer Meinung nach nicht sehr praktisch sind.

Auf diese Weise wird StyleCop in Ihren Kompilierungsschritt integriert und somit Teil des CI-Builds.

+0

Genau wie mein Team dies tut. Es macht uns nichts aus, die .csproj-Änderungen zu ändern, es hilft uns dabei, weitere Funktionen und benutzerdefinierte Aufgaben hinzuzufügen. –

+1

Es scheint jetzt ein nugget-Paket dafür zu geben! : D –

+6

Als Referenz ist das NuGet-Paket [StyleCop.MSBuild] (http://www.nuget.org/packages/StyleCop.MSBuild/) –

2

Wir verwenden den Ansatz in den folgenden Artikeln erfolgreich auf ein paar Projekte ...

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

im Grunde Sie ein paar Umgebungsvariablen eingerichtet, so dass sie in allen CSPROJ Dateien verweisen Damit Sie für jeden einzelnen Entwickler verschiedene Arbeitsverzeichnisse erstellen können, installieren Sie die StyleCop MSBuild-Komponenten auf dem Build-Rechner, und schon geht es los. Es sind keine Änderungen am Teambuild erforderlich.

1

Wechseln Sie zu Visual Studio, klicken Sie mit der rechten Maustaste auf Lösung> Verwalten Sie Nuget-Pakete> Installieren Sie StyleCop.MSBuild.

Das ist es =)