Wie kann ich MSBuild dazu bringen, alle als Inhalt markierten Dateien in einen Ordner zu kopieren, wobei die Ordnerstruktur erhalten bleibt?

8

Als Teil meines Lösungs-Builds möchte ich alle "Content" -Dateien (asp? x usw.) in einen anderen Ordner kopieren. Da diese im Projekt so eindeutig gekennzeichnet sind, dachte ich, dass es einen einfachen Weg geben muss, diese zu kopieren, anstatt meinen eigenen Post-Build-Schritt mit xcopy zu schreiben. Leider konnte ich das nicht herausfinden - dieses msbuild-Ding ist mit meinem Gehirn nicht kompatibel. Ich möchte nur einen Schritt wie aber kann die zu verwendende Syntax nicht herausfinden.

Bat-Datei-Syntaxvorschläge wären keine Antwort auf diese Frage - es gelten nur reine msbuild-Lösungen

Danke, Pro

    
Pelle 04.10.2011, 05:26
quelle

3 Antworten

10

Sie können dies folgendermaßen tun:

%Vor%

Wenn Sie dies als Post-Build-Schritte ausführen möchten, können Sie einfach AfterTargets="Build" hinzufügen, zum Beispiel:

%Vor%     
Sayed Ibrahim Hashimi 04.10.2011, 21:22
quelle
1

Ich verwende die Webbereitstellungsfunktion, um alle Inhaltsdateien zu paketieren, und dann kann ich Webbereitstellung verwenden, um mit einer Site zu synchronisieren, oder xcopy oder besser RoboCopy verwenden, wenn Webbereitstellung keine Option ist.

Die RoboCopy-Aufgabe ist in MSBuild Community-Aufgaben enthalten.

%Vor%     
Rickard 04.10.2011 05:57
quelle
0

Die Antwort von Sayed funktionierte nicht für mich, da auch das ursprüngliche Elternverzeichnis beibehalten wurde. Ich habe stattdessen die folgende geänderte Version verwendet und es hat wunderbar funktioniert und ist ein bisschen eleganter!

%Vor%     
Will Strohl 21.11.2013 22:57
quelle

Tags und Links