Die Art, wie ich das in der Vergangenheit getan habe, ist, keine CC.Net Checkout-Quelle selbst zu haben. Stattdessen gibt es zwei <msbuild>
Elemente für das Projekt, das erste ruft ein Build-Ziel auf, das svn-clean.pl ausgeführt wird (das zu EXE kompiliert wird) und aktualisiert dann die Quelle, die svn.exe verwendet.Das zweite Element <msbuild>
startet den Haupt-Build-Prozess.
Sie können svn-clean einfach durch einen Löschbefehl ersetzen. Für meine Projekte war das Löschen von Spreu aus einer Kasse immer schneller als das Auschecken einer neuen Arbeitskopie.
Die beiden msbuild-Elemente sind erforderlich, da die Hauptprojekt-Builddatei häufig aktualisiert wird. Dies ist wichtig, da Updates für Ihre Build-Datei (en) nur dann neu geladen werden, wenn Sie einen neuen Msbuild-Prozess starten.
Dieses Setup bricht zusammen, wenn ich (sehr selten) die Abhängigkeiten dieses Erstellungsziels für Bereinigung und Aktualisierung in dem Maße verschiebe oder ändere, in dem der Msbuild-Prozess nach gültigen Anweisungen zum Ausführen der Bereinigung aktualisiert werden muss Ziel. Wenn dies passiert, stoppe ich CC.Net, bevor ich beginne, gehe in den CC.Net-Server und mache ein "svn update" von Hand.
Sidelight: Es könnte gut sein, dass CC.Net inzwischen einen natürlichen Clean-Before-Build-Betrieb hat. Ich bin seitdem zu TeamCity gewechselt, das konfigurierbar ist, um dies bei jedem Build zu tun oder nur wenn der Entwickler entscheidet (zB wenn du weißt, dass du eine Änderung vorgenommen hast, die nicht sauber aktualisiert wurde) Verstand).