将文件从一个项目复制到另一个使用后build立事件… VS2010

我有一个在其中的3个项目的解决scheme。 我需要将视图从一个项目复制到另一个项目。 我能够通过后构build事件复制创build的DLL,如下所示:

在这里输入图像说明

所以我想复制项目之一'/Views/ModuleHome/Index.cshtml'中的文件到项目2中的文件夹。如何通过后生成事件将文件复制到我想要的项目? 谢谢

xcopy "$(ProjectDir)Views\Home\Index.cshtml" "$(SolutionDir)MEFMVCPOC\Views\Home" 

如果你想复制整个文件夹:

 xcopy /E /Y "$(ProjectDir)Views" "$(SolutionDir)MEFMVCPOC\Views" 

更新:这是工作版本

 xcopy "$(ProjectDir)Views\ModuleAHome\Index.cshtml" "$(SolutionDir)MEFMVCPOC\Views\ModuleAHome\" /Y /I 

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

 /I - treat as a directory if copying multiple files /Q - Do not display the files being copied. /S - Copy subdirectories unless empty. /E - Copy empty subdirectories. /Y - Do not prompt for overwrite of existing files. /R - Overwrite read only files. 
 xcopy "your-source-path" "your-destination-path" /D /y /s /r /exclude:path-to-txt- file\ExcludedFilesList.txt 

注意源path和目标path中的引号,但不包括exludelist txt文件的path。

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

我正在使用此命令将文件从我的解决scheme中的一个项目复制到另一个项目,并排除.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. 

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

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

/ R – 这将覆盖只读文件

/ Y – 禁止提示覆盖现有文件(s)

/我 – 假设目的地是目录(但必须以)

一个小诀窍 – 在目标中,你必须以字符\结束告诉xcopy目标是目录,而不是文件!

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

 call "$(SolutionDir)scripts\copyifnewer.bat" 

我这样使用它。

 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 

注意这个的使用。 $(TargetDir)已经'\'“D:\ MyProject \ bin \”= $(TargetDir)

你可以在命令编辑器中findmacros

在这里输入图像说明

像以前的答复一样,我也build议xcopy 。 不过,我想用/exclude参数添加到Hallgeir Engen的答案中。 这个参数似乎有一个错误,使得它不能处理长或包含空格的path名,因为引号不起作用。 path名称需要以“文档”转换为“DOCUME〜1”(根据此源文件 )为“DOS”格式。

所以,如果你想使用\ exclude参数,这里有一个解决方法:

 cd $(SolutionDir) xcopy "source-relative-to-path-above" "destination-relative-to-path-above /exclude:exclude-file-relative-path 

请注意,源path和目标path可以(也应该包含空格)位于引号内,而不是排除文件的path。

如果你想考虑平台 (x64,x86等)和configuration (debugging或发布),它会是这样的:

 xcopy "$(SolutionDir)\$(Platform)\$(Configuration)\$(TargetName).dll" "$(SolutionDir)TestDirectory\bin\$(Platform)\$(Configuration)\" /F /Y