Kopiowanie plików z jednego projektu do drugiego za pomocą zdarzenia post build ... VS2010
Mam rozwiązanie z 3 projektami w nim. Muszę skopiować widok z jednego projektu do drugiego. Jestem w stanie skopiować utworzony DLL poprzez post build zdarzeń jak tak:
Więc chcę skopiować plik w project one ' / Views/ModuleHome / Index.cshtml " do folderu w projekcie 2. Jak skopiować plik(y) do wybranego projektu poprzez Zdarzenie post-build? Dzięki
8 answers
xcopy "$(ProjectDir)Views\Home\Index.cshtml" "$(SolutionDir)MEFMVCPOC\Views\Home"
A jeśli chcesz skopiować całe foldery:
xcopy /E /Y "$(ProjectDir)Views" "$(SolutionDir)MEFMVCPOC\Views"
Aktualizacja: oto wersja robocza
xcopy "$(ProjectDir)Views\ModuleAHome\Index.cshtml" "$(SolutionDir)MEFMVCPOC\Views\ModuleAHome\" /Y /I
Oto kilka często używanych przełączników z xcopy
:
- /I - traktuj jako katalog, jeśli kopiujesz wiele plików.
- /Q - nie wyświetla kopiowanych plików.
- / S - kopiuje podkatalogi, chyba że są puste.
- /E - kopiowanie pustych podkatalogów.
- / Y - nie pytaj o nadpisanie istniejących plików.
- /R - nadpisuje pliki tylko do odczytu.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2019-09-16 07:14:15
xcopy "your-source-path" "your-destination-path" /D /y /s /r /exclude:path-to-txt- file\ExcludedFilesList.txt
Zwróć uwagę na cudzysłowy w ścieżce źródłowej i ścieżce docelowej, ale nie w ścieżce do pliku txt exludelist.
Zawartość ExcludedFilesList.txt jest następujący: .cs\
Używam tej komendy do kopiowania plików z jednego projektu w moim rozwiązaniu, do drugiego i wykluczania .pliki cs.
/D Copy only files that are modified in sourcepath
/y Suppresses prompting to confirm you want to overwrite an existing destination file.
/s Copies directories and subdirectories except empty ones.
/r Overwrites read-only files.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2013-02-14 07:43:07
Xcopy "$(TargetDir) * $(TargetExt) ""$(SolutionDir) \ Scripts\MigrationScripts\Library\ " / F /R /Y / I
/ F-wyświetla pełne nazwy plików źródłowych i docelowych
/ R-to nadpisze pliki tylko do odczytu
/ Y-wyłącza monit o nadpisanie istniejących plików
/ i-zakłada, że miejscem docelowym jest katalog (ale musi się on kończyć)
Mała sztuczka – w Targecie musisz zakończyć znakiem\, aby powiedzieć xcopy, że target jest katalogiem, a nie plikiem!
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-07-20 07:18:12
Wywołaj Batch
plik, który uruchomi Xcopy
dla wymaganego źródła plików do miejsca docelowego
call "$(SolutionDir)scripts\copyifnewer.bat"
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2012-06-12 17:46:11
Używam go w ten sposób.
xcopy "$(TargetDir)$(TargetName).dll" "$(SolutionDir)Lib\TIRM\x86\" /F /Y
xcopy "$(TargetDir)$(TargetName).lib" "$(SolutionDir)Lib\TIRM\x86\" /F /Y
/F : Copy source is File
/Y : Overwrite and don't ask me
Zwróć uwagę na użycie tego. $(TargetDir) ma już '\' "D:\MyProject\bin\" = $(TargetDir)
Możesz znaleźć makro w edytorze poleceń
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-07-03 21:20:47
To polecenie działa jak urok dla mnie:
for /r "$(SolutionDir)libraries" %%f in (*.dll, *.exe) do @xcopy "%%f" "$(TargetDir)"
Torekurencyjnie kopiuje każdy dll
i exe
Plik z MySolutionPath\libraries
do bin\debug
lub bin\release
.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2019-02-21 15:11:57
Podobnie jak poprzednie odpowiedzi, sugeruję również xcopy
. Chciałbym jednak dodać do odpowiedzi Hallgeir Engen z parametrem /exclude
. Wydaje się, że wystąpił błąd z parametrem uniemożliwiający pracę z nazwami ścieżek, które są długie lub zawierają spacje, ponieważ cudzysłowy nie będą działać. Nazwy ścieżek muszą być w formacie " DOS " z "Documents" tłumaczącym się na "DOCUME~1" (według tego źródła).
Więc, jeśli chcesz użyć parametru \ exclude, istnieje obejście tutaj :
cd $(SolutionDir)
xcopy "source-relative-to-path-above" "destination-relative-to-path-above
/exclude:exclude-file-relative-path
Zauważ, że ścieżki źródłowe i docelowe mogą (i powinny, jeśli zawierają spacje) znajdować się w cudzysłowach, ale Nie ścieżka do pliku exclude.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-04-08 17:25:25
Jeśli chcesz wziąć pod uwagę platformę (x64, x86 itp.) i konfigurację (debugowanie lub Wydanie), to będzie to coś takiego:
xcopy "$(SolutionDir)\$(Platform)\$(Configuration)\$(TargetName).dll" "$(SolutionDir)TestDirectory\bin\$(Platform)\$(Configuration)\" /F /Y
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-11-08 15:02:46