我有一个MVC项目,我想分割它的输出。
我想将此项目的所有DLL文件(目录Bin中的所有内容)复制到一个目录,并将所有Views(目录View的内容)复制到另一个输出目录。
VS 2010中的项目设置不允许我这样做。
我可以在设置中仅指定一个输出路径,但我无法指定要复制的目录或文件类型以及位置。
我认为我应该将输出目录保留为默认值,然后我需要像使用Post-build命令一样分割输出。
也许有人做了类似的事情并且有任何想法如何做到最好?
答案 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
包含已编译文件的完整路径,TargetFileName
是TargetName
和TargetExt
的组合。
不要在目录变量之后添加反斜杠分隔符,例如$(TargetDir)\$(TargetFileName)
将失败,因为它将被解释为"TargetName**\\** TargetExt"
。
一旦你看到宏中的值,你应该很容易选择你想要的。
请记住,您需要在解决方案中的每个项目上执行此操作。
右键单击项目,选择属性,然后选择Build Events
选项卡,即可找到构建事件。
答案 2 :(得分:0)
这应该是对caiosm1005的评论,但我缺点。 如Riap所示,使用xcopy命令。有关这些开关的详细说明,请参见Xcopy and Xcopy32 Switches