VS 2010.后期制作。将文件复制到多个目录/多个输出路径

时间:2010-12-01 12:29:42

标签: visual-studio-2010

我有一个MVC项目,我想分割它的输出。

我想将此项目的所有DLL文件(目录Bin中的所有内容)复制到一个目录,并将所有Views(目录View的内容)复制到另一个输出目录。

VS 2010中的项目设置不允许我这样做。

我可以在设置中仅指定一个输出路径,但我无法指定要复制的目录或文件类型以及位置。

我认为我应该将输出目录保留为默认值,然后我需要像使用Post-build命令一样分割输出。

也许有人做了类似的事情并且有任何想法如何做到最好?

3 个答案:

答案 0 :(得分:22)

解决方案是

1)将Output Path设置为要在项目属性中复制* dll文件的目录

2)使用post-build事件将目录View的内容复制到你想要的任何目录

在我的情况下

1) 输出路径i设置为

.. \ MyDestinationProjectName \ BIN \

2)复制后构建事件View目录如下所示

xcopy“$(ProjectDir)\ Views”“$(SolutionDir)\ MyDestinationProjectName \ Plugins \ Views \ $(ProjectName)\”/ s / i / y

答案 1 :(得分:3)

这应该是对@ caiosm1005的评论,但我缺点。 如@Riapp所示,使用xcopy命令。有关这些开关的详细说明,请参见Xcopy and Xcopy32 Switches

我的解决方案是: xcopy "$(TargetDir)$(TargetFileName)" "C:\Mydestination" /s /i /y

TargetDir包含已编译文件的完整路径,TargetFileNameTargetNameTargetExt的组合。 不要在目录变量之后添加反斜杠分隔符,例如$(TargetDir)\$(TargetFileName)将失败,因为它将被解释为"TargetName**\\** TargetExt"

一旦你看到宏中的值,你应该很容易选择你想要的。 请记住,您需要在解决方案中的每个项目上执行此操作。 右键单击项目,选择属性,然后选择Build Events选项卡,即可找到构建事件。

答案 2 :(得分:0)

这应该是对caiosm1005的评论,但我缺点。 如Riap所示,使用xcopy命令。有关这些开关的详细说明,请参见Xcopy and Xcopy32 Switches