Ich habe vor kurzem begonnen, Code Analysis für meine Projekte in Visual Studio zu verwenden. Ich habe einen benutzerdefinierten Regelsatz erstellt, der mit allen meinen Projekten verwendet werden kann, die zwei der von Microsoft definierten Regelsätze enthalten. Ich habe daran gearbeitet, FxCop in den CI-Build-Prozess zu integrieren, damit Builds fehlschlagen, die nicht alle Regeln bestehen. Was mir wirklich komisch ist, ist, dass ich mit meinem Regelwerk nicht definieren kann, nach welchen Regeln FxCop den Code abtastet. Wie stelle ich es so her, dass die Code Analysis-Regeln von Visual Studio mit den Regeln von FxCop übereinstimmen?FxCop und Code Analysis Rules
Antwort
Sie haben bereits eine Regelsatzdatei, von der ich annehme, dass Sie herausgefunden haben, wie Sie sie in Ihre Projekte integrieren und über Visual Studio verwenden können.
FxCopCmd.exe /out:Violations.xml /ruleset:=Custom.ruleset /file:MyAssembly.dll
ich dies mit Jenkins getan haben und es funktioniert gut:
Sie können diese gleichen Regelsatz-Datei in FxCopCmd.exe
verwenden. Führen Sie FxCopCmd.exe
ohne Argumente aus, und Sie sollten Beschreibungen für alle verfügbaren Befehlszeilenoptionen anzeigen.
Sehr seltsam, ich hatte eine Menge Probleme beim Finden der Dokumentation für die Option/ruleset, aber es hat den Trick gemacht. Zum Glück habe ich etwas vermisst :-). – Chris
Können Sie bitte ein Beispiel für die Syntax der Regelsatzdatei angeben. Ich hatte nicht viel Glück, dass das funktioniert. – mikelong
@mikelong: Die Syntax für die Verwendung von Regelsatzdateien wird in meiner Antwort angezeigt. Was genau ist dein Problem? – Bernard
Für unseren CI-Build haben wir eine spezielle Build-Konfiguration (zusätzlich zu Standard-Debug und Release), die laufende Code-Analyse ("RunCodeAnalysis" MSBuild Aufgabe, wie ich mich erinnere) und Option "Behandle Warnung als Fehler". Der Build schlägt daher fehl, wenn wir einen FxCop-Fehler haben und er denselben Regelsatz wie VS verwendet. Auf diese Weise müssen Sie FxCopCmd nicht verwenden und Regelsätze teilen. Sie müssen diese Build-Konfiguration jedoch manuell zu jedem Projekt Ihrer Lösung hinzufügen.
- 1. Code Contracts + Code Analysis
- 2. Wie erhält man mit FxCop dieselben Regeln wie bei Visual Studio Code Analysis?
- 3. Code Analyse/FxCop in VS2008
- 4. Sonaraint bringt keine "Managed Binary Analysis Rules" zu Visual Studio
- 5. Visual Studio Code Analyse vs StyleCop + FxCop
- 6. Wie debugge ich benutzerdefinierte Code Analysis-Regeln?
- 7. Strange Code Analysis Problem Über TFS 2010 Build
- 8. NLog und final rules
- 9. FxCop und GAC Madness
- 10. Analyse FxCop/Code Analyse Warnung CA1506: AvoidExcessiveClassCoupling
- 11. Code Analysis Warning 2214 - Wie beheben?
- 12. mod_rewrite rules
- 13. Teamcity und Sonarqube - nicht in der Lage FXCop zu laufen
- 14. Ausschließen von MFC-Code von VS2008 Code Analysis
- 15. FxCop Installation
- 16. Plotten Association Rules Fehler
- 17. htaccess rules - mehrsprachige website
- 18. NMake Pattern Rules
- 19. Hardware Sizing - Thumb Rules
- 20. Ruby & Rules Engines
- 21. Sollte ich FxCop verwenden und warum?
- 22. Mod Rewrite Skip Rules Serverfehler
- 23. Benutzerdefinierte statische Code-Analyse-Regeln in FxCop oder StyleCop?
- 24. FxCop - CA1034 Fehler - WARUM?
- 25. FxCop statische Code-Analyse .dll kann für .NET geladen werden
- 26. i18n - Internationalisierung & Password Complexity Rules
- 27. Code Analysis Analyzer kann nicht in Visual Studio 2015 ausgeführt werden
- 28. Make Code Analysis stop Warnung über einen bestimmten Variablennamen
- 29. Warum fehlen Analysis Services und Reporting Services?
- 30. UDP Packet Analysis
Fehle ich etwas komplett oder gibt es wirklich keine Möglichkeit, die gleichen Regeln in FxCop Standalone und Code Analysis in Visual Studio zu teilen? !!!! – Chris
Sie scheinen etwas zu verpassen. Wie versuchen Sie, FxCop von Ihrem CI-Build auszuführen? –
Ich verwende es mit TeamCity, die die FxCopCmd.exe ausführt. Ich habe eine FxCop-Projektdatei, die die Ziele und die eigenständigen FxCop-Listen-Regeln auflistet, aber es scheint keine einfache Möglichkeit zu geben, dieselben Regeln zu teilen, die Code-Analyse in Visual Studio verwenden soll. Alles funktioniert, es scheint einfach keine Möglichkeit zu geben, Regeln zwischen dem eigenständigen FxCop und der Codeanalyse in VS2010 zu teilen. – Chris