使用post build event将文件从一个项目复制到另一个项目... VS2010

Bou*_*ory 128 c# visual-studio-2010

我有一个包含3个项目的解决方案.我需要将视图从一个项目复制到另一个项目.我可以通过post build事件复制创建的DLL,如下所示:

在此输入图像描述

所以我想将项目中的文件'/Views/ModuleHome/Index.cshtml'复制到项目2中的文件夹中.如何通过post-build事件将文件复制到我想要的项目?谢谢

Dar*_*rov 294

xcopy "$(ProjectDir)Views\Home\Index.cshtml" "$(SolutionDir)MEFMVCPOC\Views\Home"
Run Code Online (Sandbox Code Playgroud)

如果要复制整个文件夹:

xcopy /E /Y "$(ProjectDir)Views" "$(SolutionDir)MEFMVCPOC\Views"
Run Code Online (Sandbox Code Playgroud)

更新:这是工作版本

xcopy "$(ProjectDir)Views\ModuleAHome\Index.cshtml" "$(SolutionDir)MEFMVCPOC\Views\ModuleAHome\" /Y /I
Run Code Online (Sandbox Code Playgroud)

以下是一些常用的开关xcopy:

xcopy "$(ProjectDir)Views\Home\Index.cshtml" "$(SolutionDir)MEFMVCPOC\Views\Home"
Run Code Online (Sandbox Code Playgroud)

  • 我将此行添加到我的帖子生成中,并且出现以下错误“错误1命令“ xcopy“ C:\ Users \ tcompton \ Downloads \ MEFMVCPOC \ ModuleA \ Views \ ModuleAHome \ Index.cshtml”“ C:\ Users \ tcompton \ “ Downloads \ MEFMVCPOC \ MEFMVCPOC \ Views \ ModuleAHome”“已退出,代码2。这是什么意思? (2认同)

小智 20

xcopy "your-source-path" "your-destination-path" /D /y /s /r /exclude:path-to-txt- file\ExcludedFilesList.txt
Run Code Online (Sandbox Code Playgroud)

注意源路径和目标路径中的引号,但不是exludelist txt文件的路径.

ExcludedFilesList.txt的内容如下:.cs \

我正在使用此命令将文件从我的解决方案中的一个项目复制到另一个项目并排除.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.
Run Code Online (Sandbox Code Playgroud)


小智 14

xcopy"$(TargetDir)*$(TargetExt)""$(SolutionDir)\ Scripts\MigrationScripts\Library \"/ F/R/Y/I

/ F - 显示完整的源文件名和目标文件名

/ R - 这将覆盖只读文件

/ Y - 禁止提示覆盖现有文件

/ I - 假设目的地是目录(但必须以目的地结尾)

一个小技巧 - 在目标中你必须以字符\结束告诉xcopy目标是目录而不是文件!


swa*_*eel 8

调用Batch将运行Xcopy所需文件源到目标的文件

call "$(SolutionDir)scripts\copyifnewer.bat"
Run Code Online (Sandbox Code Playgroud)


小智 7

我这样用它.

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
Run Code Online (Sandbox Code Playgroud)

注意使用这个.$(TargetDir)已经'\'"D:\ MyProject\bin \"= $(TargetDir)

您可以在命令编辑器中找到宏

在此输入图像描述


Biz*_*han 5

这个命令对我来说就像一个魅力:

for /r "$(SolutionDir)libraries" %%f in (*.dll, *.exe) do @xcopy "%%f" "$(TargetDir)"
Run Code Online (Sandbox Code Playgroud)

递归地将每个dllexe文件复制MySolutionPath\librariesbin\debugor 中bin\release

你可以在这里找到更多信息