Ich habe einen Build von Inspections (.NET) zu einem TeamCity (v8) -Projekt hinzugefügt, das aus einem Schritt zum Erstellen einer Visual Studio 2010-Lösung für eine einzelne Dummy-C # -Klasse besteht.
Der Build-Schritt weist Fehlerbedingungen auf, die zum Fehlschlagen führen, wenn ich Inspektionsfehler oder Warnungen erhalte.
Meine Dummy-Klasse generiert nur 2 Vorschläge, aber der Build schlägt fehl
"Build-Fehler bei Metrikänderung: Anzahl der Inspektionswarnungen ist ebenfalls groß: 3 ".
Gibt es eine Möglichkeit, dass der TeamCity-Schritt die Vorschläge ignoriert?
Ich habe Debug-Ausgabe aktiviert und der Schritt enthält definitiv keine Warnungen:
%Vor%Die Dummy-Klasse ist wie folgt:
%Vor%Beachten Sie, dass ich weiterhin Vorschläge und Hinweise in Visual Studio erhalten möchte, sodass das Ändern aller Nicht-Warnungen und Fehler in den ReSharper-Einstellungen nicht möglich ist (oder Erstellen und Verwalten einer solchen Einstellungsdatei nur für TeamCity) .
Im Anschluss an die vorherige vorgeschlagene Technik habe ich ein PowerShell-Skript geschrieben, das InspectCode ausführt und anschließend eine XSLT-Transformation der Ausgabedatei durchführt und importiert das Ergebnis in TeamCity. Sie können dies als einen PowerShell-Build-Schritt ausführen, indem Sie den Lösungsdateinamen als erstes Skriptargument und die Variable% system.teamcity.build.tempDir% als zweite übergeben.
TransformResults.xslt:
(Dies sollte sich im selben Ordner wie das PowerShell-Skript befinden)
%Vor%RunInspectCode.ps1:
%Vor%Das ist mit TeamCity 9 immer noch nicht möglich (es wird peinlich für JetBrains, da diese Funktion wirklich ein Witz ist, ohne sich nur auf Warnungen und Fehler beschränken zu können).
Mit dem kostenlosen Resharper-Befehlszeilentool "inspeccode" kann ein XML generiert werden Bericht für alle Resharper-Probleme:
%Vor%Dieser Bericht enthält weiterhin alle Probleme. Es ist dann jedoch möglich, eine XPath-Abfrage im Bericht zu erstellen, um die Anzahl der Fehler und Warnungen zu zählen.
So mache ich es in einer Psake-Build-Datei:
%Vor%}
Wie Sie sehen können, musste ich auch falsche InconsistentNaming
Warnungen herausfiltern, aber Sie könnten diesen Teil entfernen, wenn Sie ihn nicht brauchen.
Und Sie könnten natürlich eine ähnliche xpath-Abfrage in einer XSLT-Transformation verwenden, um alle Nicht-Warnungen und Nicht-Fehler loszuwerden. Auf diese Weise können Sie mit TeamCity die resultierende Datei bearbeiten und als Ergebnis der Code-Prüfung anzeigen.
Tags und Links c# visual-studio-2010 teamcity-8.0 code-inspection resharper-7.1