2010-12-06 23 views
0

Ich habe ein paar VS 2010 C# -Projekte, die zwischen mehreren Lösungen geteilt werden. Ich möchte, dass diese Projekte zum Verzeichnis der Lösungen, in denen sie geöffnet sind, gebaut werden. Wie mache ich das?Visual Studio-Variablen-Verzeichnis

Ich dachte über die Einrichtung verschiedener Build-Konfigurationen (Debug_Xsln, debug_Ysln, Release_Xsln ...) aber war nicht sicher, ob es einen besseren Weg gab.

+0

Es ist automatisch, wenn Sie einen Verweis auf die Projektausgabe hinzufügen. –

Antwort

5

http://msdn.microsoft.com/en-us/library/42x5kfw4(v=VS.100).aspx

Sie können ein Ereignis mit xcopy postbuild verwenden und das Makro $(SolutionName) oder $(SolutionDir) die kompilierten Dateien in den richtigen Ordner zu kopieren.

für das Projekt geht in Eigenschaften, Ereignisse Registerkarte bauen und in Post so etwas wie diese Build-Ereignis-Befehlszeile eingeben:

xcopy "$(ProjectDir)bin\$(ConfigurationName)\*.*" "$(SolutionDir)$(ProjectName)\bin\$(ConfigurationName)" /i /d /y 

Der Vorteil dieser Methode ist, Sie die Build-Ausgabe eines Projektes können kopieren zu mehrere Standorte

OR

(als Ziplin entdeckt)

Wenn Sie nur einen Standort haben Sie die Build-Ausgabe zu gehen, können Sie die Makros über den Ausgabepfad zu setzen, wie folgt aus:

$(SolutionDir)$(ProjectName)\bin\$(ConfigurationName) 

gehen Sie einfach auf die Projekteigenschaften auf die Registerkarte Erstellen und stellen Sie Ihre macroed location als der Ausgabepfad

+0

Ein Ansatz, den ich gemacht habe, wenn eine Gruppe von Bibliotheken unter Projekten geteilt wird, besteht darin, sie in eine einzige Lösung zu verpacken und mit xcopy an einem freigegebenen Netzwerkspeicherort bereitzustellen, und dann in jeder Lösung, die sie verwendet, den freigegebenen Speicherort abzurufen. Die Versionsverwaltung kann dann mit Unterordnern gesteuert werden, oder jede Lösung kann immer automatisch mit der neuesten Version erstellt werden, je nachdem, wie Sie sie verwalten möchten. – Josh

+0

Ihre Antwort sieht viel sauberer als meine Lösung aus, danke! Nicht so sicher über Ihren Kommentar, jedoch. – Dlongnecker

+1

Josh, ich fand, was ich denke, ist ein sauberer Weg, es zu tun. Wenn du deine Antwort aktualisierst, werde ich es dir geben, weil du mich richtig geführt hast. - Ich kann den Ausgabepfad einfach auf den von Ihnen angegebenen Text setzen - $ (SolutionDir) bin \ $ (Konfiguration) Dlongnecker

Verwandte Themen