Ich habe eine Lösung mit 3 Projekten. Ich muss eine Ansicht von einem Projekt in ein anderes kopieren. Ich kann die erstellte DLL über Post-Build-Ereignisse wie folgt kopieren:
Ich möchte also die Datei in Projekt 1 '/Views/ModuleHome/Index.cshtml' in einen Ordner in Projekt 2 kopieren. Wie kopiere ich Dateien über ein Post-Build-Ereignis in mein gewünschtes Projekt? Vielen Dank
c#
visual-studio-2010
BoundForGlory
quelle
quelle
Ctrl+W+O
. Existiert derViews\ModuleAHome
Ordner am Zielspeicherort? Sehen Sie sich das Ausgabefenster für den genauen Befehl an, der ausgeführt wird, und lesen Sie dann die Dokumentation zum Befehl xcopy, um die verschiedenen verfügbaren Schalter zu verstehen :xcopy /?
.Beachten Sie die Anführungszeichen im Quell- und Zielpfad, jedoch nicht im Pfad zur exludelist txt-Datei.
Der Inhalt von ExcludedFilesList.txt lautet wie folgt: .cs \
Ich verwende diesen Befehl, um Dateien von einem Projekt in meiner Lösung in ein anderes zu kopieren und CS-Dateien auszuschließen.
quelle
your-source-path
undyour-destination-path
. Ohne diese Anführungszeichen funktioniert es überhaupt nicht."My File.txt"
.xcopy "$ (TargetDir) * $ (TargetExt)" "$ (SolutionDir) \ Scripts \ MigrationScripts \ Library \" / F / R / Y / I.
/ F - Zeigt die vollständigen Namen der Quell- und Zieldateien an
/ R - Hiermit werden schreibgeschützte Dateien überschrieben
/ Y - Unterdrückt die Aufforderung, eine oder mehrere vorhandene Dateien zu überschreiben.
/ I - Nimmt an, dass das Ziel ein Verzeichnis ist (muss aber mit enden)
Ein kleiner Trick - im Ziel müssen Sie mit dem Zeichen \ enden, um xcopy mitzuteilen, dass das Ziel ein Verzeichnis und keine Datei ist!
quelle
Rufen Sie die
Batch
Datei auf, dieXcopy
für die erforderliche Datei von Quelle zu Ziel ausgeführt wirdquelle
Ich benutze es so.
Beachten Sie die Verwendung dieser. $ (TargetDir) hat bereits '\' "D: \ MyProject \ bin \" = $ (TargetDir)
Sie finden das Makro im Befehlseditor
quelle
Dieser Befehl wirkt für mich wie ein Zauber:
Es rekursiv kopiert alle
dll
undexe
Datei ausMySolutionPath\libraries
in diebin\debug
oderbin\release
.Weitere Informationen finden Sie hier
quelle
Wie in den vorherigen Antworten schlage ich auch vor
xcopy
. Ich möchte jedoch die Antwort von Hallgeir Engen mit dem/exclude
Parameter ergänzen . Es scheint einen Fehler mit dem Parameter zu geben, der verhindert, dass er mit Pfadnamen arbeitet, die lang sind oder Leerzeichen enthalten, da Anführungszeichen nicht funktionieren. Die Pfadnamen müssen im "DOS" -Format vorliegen, wobei "Dokumente" in "DOCUME ~ 1" übersetzt werden (laut dieser Quelle) ).Also, wenn Sie die \ ausschließen Parameter verwenden möchten, gibt es eine Abhilfe hier :
Beachten Sie, dass die Quell- und Zielpfade in Anführungszeichen stehen können (und sollten, wenn sie Leerzeichen enthalten), nicht jedoch der Pfad zur Ausschlussdatei.
quelle
Wenn Sie die Plattform (x64, x86 usw.) und die Konfiguration (Debug oder Release) berücksichtigen möchten, wäre dies ungefähr so:
quelle