2008-10-02 11 views
5

Das ist also eine Frage für alle, die das Erstellen/Kompilieren von Legacy-Projekten/Code in einer Team Build/MSBuild-Umgebung integrieren mussten - speziell Visual Basic 6-Anwendungen/-Projekte.VB6 Integration mit MSBuild

Außerhalb der des Schreibens einer benutzerdefinierten Build-Aufgabe (gegen die ich nicht bin) hat jemand irgendwelche Vorschläge, wie die Kompilierung und Versionierung von älteren VB6-Projekten in MSBuild-Builds zu integrieren?

Ich bin mir der FreeToDev-Msbuild-Aufgaben bei CodePlex bewusst, aber sie wurden im Moment zurückgezogen.

Idealerweise versuche ich, den Code zu versionieren und zu kompilieren sowie die Kompilierungsausgabe (insbesondere Fehler) für das Msbuild-Protokoll zu erfassen.

Ich habe Ratschläge zum Kapselung dieser Funktionalität in einer benutzerdefinierten Aufgabe gesehen, aber wirklich gefragt, ob jemand eine andere Lösung ausprobiert hat (abgesehen von Shell-Befehle auszuführen) - Im Grunde hat jemand eine "sauberere" Lösung?

Idealerweise Ausführen von Befehlen mit wäre ein letzter Ausweg ..

Antwort

3

die VB6 Aufgabe am Montag wieder mit Bezug auf. Versionierung gibt es keine explizite vb Versionierung Aufgabe in der Packung, jedoch könnten Sie die Aufgaben TfsVersion (TaskAction = "GetVersion") und die Datei (TaskAction = "Ersetzen"). Wenn Sie denken, es ist Wert beim Erstellen einer neuen Aufgabe zu kapseln andere Funktionen zur Verfügung stellen, dann lass es mich wissen und ich werde es zum Vorteil der ganzen Gemeinschaft in das Paket hinzufügen.

Entschuldigung für den Rückzug, aber Montag kommen, ich bin sicher, dass alle verstehen werden.

+1

Danke, ich schaue mir die nächste Woche an! – RobS

2

ich Nant bin mit täglich VB6-Projekte zu bauen. Dies nutzt den Befehl Nant execute, um die Builds auszuführen (wir erstellen 4 Projekte als Teil einer "Lösung").

Es ermöglicht Ihnen auch, Versionen in Ihrem Quellcodeverwaltungs-Repository zu beschriften, den neuesten Code zu erhalten, ein- und auszuchecken, alle normalen Anforderungen zu erfüllen, die Update-/Setup-Programme zu kompilieren, die Dateien an die erforderlichen Speicherorte zu kopieren und E-Mails zu senden .

Die protokollierten Ergebnisse sind jedoch ziemlich minimal, da Sie nur die von einer VB6-Befehlszeile kompilierte Ausgabe erhalten.

Für die Versionierung musste ich eine kleine App schreiben, um die Versionsnummer meiner kompilierten ausführbaren Datei zu extrahieren und sie in eine Textdatei zu schreiben, die Nant dann lesen und verwenden konnte (für Labels, Dateinamen usw. (Ein bisschen a Schmerzen, aber VB erzeugten Versionsnummern entsprechen nicht sowieso)

Für Hilfe bei anderen nicht-Kernaufgaben NAntContrib sehen -.. von dem NAnt Link oben

+0

nicht wahr? War das nicht eine TFS-fokussierte Frage? –