我的VS 2012项目结构如下:
Project
Folder1
file.xml
schema.xsd
code.cs
Folder2
code1.cs
code2.cs
我将Copy to output directory
和file.xml
的{{1}}属性设置为schema.xsd
,并希望将它们输出到程序集输出的相同文件夹(Copy always
)但是它们始终复制到文件夹bin\Debug
。有没有办法实现我的目标,而无需将文件移动到项目的根目录?
答案 0 :(得分:16)
我建议您使用Post-built事件脚本执行此操作。它不像听起来那么忙碌,给你很大的灵活性。
(见下面的截图)
现在,您可以指定在每次成功构建项目后执行的shell命令。以下是您问题中的示例:
copy "$(ProjectDir)Folder1\file.xml" "$(TargetDir)"
copy "$(ProjectDir)Folder1\schema.xsd" "$(TargetDir)"
$(ProjectDir)
和$(TargetDir)
是宏,它们会插入与您的项目相关的各个值。您可以从编辑窗口的宏菜单中选择和插入宏。
引号包含在上面,因为您的ProjectDir
和TargetDir
可能会解析为包含空格的完整路径,如果空格不存在,则会破坏copy
命令。