Benutzer mit den meisten Antworten
Post-build event: Pfade auf unterschiedlichen Systemen

Frage
-
Holla Community,
wir haben für unser Projekt ein Post-build event erstellt, das eine Datei in den Ausgabeordner kopiert:
copy $(ProjectDir)\MyProg.exe.config $(TargetDir)\Prog.exe.config
Auf den Entwicklerrechnern funktioniert das. Wir haben aber einen TFS Buildrechner, auf dem die Pfade bereits mit einem anhängenden Backslash aufgelöst werden. Dadurch kann die config nicht kopiert werden und der Build schlägt fehl:
C:\Windows\Microsoft.NET\Framework64\v4.0.30319\Microsoft.Common.targets (3717): The command "copy D:\Project\Builds\1\Main\Client_CI\Sources\Client\\MyProg.exe.config D:\Project\Builds\1\Main\Client_CI\Binaries\\Prog.exe.config" exited with code 1
Problem ist der doppelte Backslash vor Prog.exe.config.
Da in den Post-build events keine Befehle, ähnlich dem Path.Combine existieren, weiß ich nicht, wie das Problem umgangen werden kann.Habt ihr eine Idee?
TIA, Matze
TIA, Matze
Antworten
-
Hi Jochen,
danke für deine Antwort. Das Weglassen des Backslashs funktioniert auf einigen Clients nicht, da der Pfad nicht mit einem Backslash endet.
Ich hab die Pfade jetzt in Anführungszeichen gesetzt. Damit funktioniert es (auch der doppelte Backslash wird akzeptiert).
PS: ich weiß, dass man statt der ausgeschriebenen Namen Variablen verwendet soll. Es handelt sich aber hier um spezifische Dateien, dür die keine Variablen existieren.
Gruß, Matze
TIA, Matze
- Als Antwort markiert 0D63F987-D557-4902-A9EA-A6495EE2F7FA Freitag, 17. Februar 2012 12:37
Alle Antworten
-
copy $(ProjectDir)\MyProg.exe.config $(TargetDir)\Prog.exe.config
Warum lässt Du nicht einfach den Backslash weg? =>
copy $(ProjectDir)MyProg.exe.config $(TargetDir)Prog.exe.config
PS: Normalerweise verwendet man nicht den Namen direkt, sondern
copy $(ProjectDir)$(TargetName)$(TargetExt).config $(TargetDir)$(TargetName)$(TargetExt).config
Jochen Kalmbach (MVP VC++) -
Hi Jochen,
danke für deine Antwort. Das Weglassen des Backslashs funktioniert auf einigen Clients nicht, da der Pfad nicht mit einem Backslash endet.
Ich hab die Pfade jetzt in Anführungszeichen gesetzt. Damit funktioniert es (auch der doppelte Backslash wird akzeptiert).
PS: ich weiß, dass man statt der ausgeschriebenen Namen Variablen verwendet soll. Es handelt sich aber hier um spezifische Dateien, dür die keine Variablen existieren.
Gruß, Matze
TIA, Matze
- Als Antwort markiert 0D63F987-D557-4902-A9EA-A6495EE2F7FA Freitag, 17. Februar 2012 12:37