Frage

Wir haben eine Lösung mit 15 Projekten, die alle Codeanalyse aktiviert ist.

Die Lösung nimmt leicht 60+ Sekunden zu bauen, die eine sehr lange Zeit beim Warten sitzt.

Wenn ich Code-Analyse deaktivieren baut es in 10 sesonds.

Ich würde gerne in der Lage sein, Code-Analyse auf einer Ad-hoc-Basis zu deaktivieren. Aber dennoch möchte ich Code-Analyse, wenn vor dem Check-in Bau, und auch ich will unser Build-Server (Cruise Control) weiter ausgeführt werden, Code-Analyse aktiviert ist.

Ich würde es vorziehen, wenn die Codeanalyse wird in Visual Studio ausgeführt wird, so kann ich direkt auf den Quellcode springen, wenn ich einen Fehler / Warnung.

War es hilfreich?

Lösung

Hier ist, wie wir es tun:

  • Deaktivieren (oder besser gesagt: nicht aktivieren). Code-Analyse (CA) für Debug baut
  • Erstellen Sie eine neue Build-Konfiguration Überprüfen genannt, wo Codeanalyse aktiviert ist, und Warnungen als Fehler behandelt werden.
  • Keep Mitteilung bauen wie es ist.

Wir tun unsere normale Entwicklung im Debug-Modus, und einfach eine informelle Regel, dass Sie ein Build Überprüfen passieren müssen, bevor Sie in überprüfen.

Dies ist leicht zu vergessen, aber wir Continuous Integration (CI) auf dem Überprüfen Build ausführen, wenn Sie also im Code überprüfen, die Code-Analyse Warnungen hat, können Sie den Build brechen - so dass die Leute schnell, bevor ein manuelles Überprüfen Build tun lernen Check-in:)

Sie können auch nur Debug ohne CA verwenden und mit CA Release, aber da CA ermöglicht definiert die CODE_ANALYSIS konstant, bedeutet dies, dass CA Unterdrückungen in der IL enthalten sein, und ich bevorzuge nicht, dass in meiner Veröffentlichung Binärdateien (YMMV) .

Andere Tipps

Wir hatten diese Art von Problem mit unseren Sachen. Wir haben gerade alle Quad 64-Bit-Prozessoren und zwischen 8 eine 16 GB RAM. Und dazu haben wir versucht, die Anzahl der Projekte an einem beliebigen Punkt zu begrenzen. Nicht die anmutige Lösung, aber es hat mir sehr geholfen.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top