【发布时间】:2016-01-13 16:40:25
【问题描述】:
我的项目中有一些用于单元测试的文件,而不是将在实际发布中使用的文件。
目前始终打开“复制到输出目录”副本。
是否有更直接的方法可以在构建时仅将某些文件发送到“Release”目录而将其他文件发送到“Debug”目录?
【问题讨论】:
标签: visual-studio-2013 build file-copying
我的项目中有一些用于单元测试的文件,而不是将在实际发布中使用的文件。
目前始终打开“复制到输出目录”副本。
是否有更直接的方法可以在构建时仅将某些文件发送到“Release”目录而将其他文件发送到“Debug”目录?
【问题讨论】:
标签: visual-studio-2013 build file-copying
我结束了在 MAIN/Solution 项目中使用命令行构建事件属性。 你的项目 > 属性 > 构建事件
预构建事件命令行
首先我清理了目录
rd /s /q "$(TargetDir)Configs"
构建后事件命令行
接下来调试,复制所有。 在发布时,删除所有用于测试的内容。
if "$(ConfigurationName)"=="Debug" ( xcopy "$(ProjectDir)Configs\*.*" "$(TargetDir)Configs\" /y del "$(TargetDir)Configs\_notes.*" ) if "$(ConfigurationName)"=="Release" ( xcopy "$(ProjectDir)Configs\*.*" "$(TargetDir)Configs\" /y del "$(TargetDir)Configs\test*.*" del "$(TargetDir)Configs\_notes.*" )
在测试项目中,使用了相同的 PRE 命令。 不得不稍微改变一下 POST 命令。
if "$(ConfigurationName)"=="Debug" ( xcopy "$(SolutionDir)$(SolutionName)\Configs\*.*" "$(TargetDir)Configs\" /y del "$(TargetDir)Configs\_notes.*" ) if "$(ConfigurationName)"=="Release" ( xcopy "$(SolutionDir)$(SolutionName)\Configs\*.*" "$(TargetDir)Configs\" /y del "$(TargetDir)Configs\test*.*" del "$(TargetDir)Configs\_notes.*" )
我认为这可以精简,但它的工作原理。
【讨论】: