Ich bin gebeten worden, StyleCop in unserem CI Build-Prozess so zu integrieren, dass:StyleCop Integration mit CI Build-Prozess (Criuse Kontrolle, Nant, msbuild und StyleCop)
- Individuelle Projektdatei in unserer (groß) Lösung ist nicht betroffen
- ich jede dritte Partei Werkzeug nicht
die erste Anforderung (und ich ist darauf zurückzuführen zu verwenden, um diese noch nicht vollständig verstehen) die Tatsache, dass wir don‘ Ich möchte StyleCop auf unserer gesamten Website ausführen Lösung direkt aus. Wenn StyleCop innerhalb von VS ausgeführt wird, ignoriert es offenbar bestimmte Attribute, die zu ignorierende Dateien angeben. Aus diesem Grund werden wir, wenn wir es auf den Dev-Maschinen laufen lassen, ständig von Tausenden von Verstößen getroffen werden, mit denen wir noch nicht fertig sind. Im Endeffekt wollen wir es nur auf dem Build-Server ausführen können.
Unsere Build-Umgebung besteht derzeit aus:
Tempomat> Nant Aufgabe, die msbuild (via exec)
Nant Aufgabe unten ausgeführt wird, ist:
<target name="buildSolution">
<echo message="Building solution..." />
<exec program="C:\WINDOWS\Microsoft.NET\Framework\v3.5\msbuild.exe"
commandline="${Project.SolutionFile} /t:Rebuild /p:Configuration=${Project.SolutionBuildConfiguration} /v:q" workingdir="." />
</target>
Als ich zum ersten Mal auf diese sah Ich dachte, es wäre ein einfacher Fall, StyleCop auf ähnliche Weise wie Msbuild auszuführen.
Allerdings kommt StyleCop als eine Reihe von DLLs ...
Dies bedeutet also, kann ich nicht tun, was ich wollte ...... Ich denke ....
die Artikel Alles, was ich habe googled heute gesagt "benutze StyleCopCmd" was ich auch nicht machen kann wegen der 3rd party tool restriction.
Ich habe mir das Tool angesehen und es scheint, eine benutzerdefinierte nant Aufgabe zu implementieren, die die StyleCopConsole startet, in ein paar Ereignisse einhakt und einen schön formatierten Bericht ausgibt. Aber um die Erstellung eines beliebigen Werkzeugs im eigenen Haus rechtfertigen zu können, muss ich in der Lage sein, vollständig zu erklären, warum ich in der nan-Konfigurationsdatei nicht nur das erreichen kann, was ich möchte. Oder auf eine andere Weise, die kein Erstellen oder Verwenden eines Werkzeugs beinhaltet. Und im Idealfall wäre es schneller, wenn ich sowieso kein Werkzeug schreiben oder benutzen müsste.
Also meine Frage ist, ist das möglich?
Hallo Trumpi - ich durch sie jetzt werde und es auszuprobieren - eine Frage - nicht „target =“ Rebuild „“ gleich bleiben oder wird das jetzt zu meinem ursprünglichen Build-Ziel verweisen (gezeigt in mein Post)? –
auch der Pfad zu der modifizierten Microsoft.StyleCop.Targets-Datei - ist das relativ von der Build-Datei oder der Lösungsdatei? –
hmm googlen und denke, dass es in meine ursprüngliche Aufgabe gehen muss, dh den exec Aufruf replcae - versuchen, dass jetzt ... –