在构建项目时将内容文件输出到特定文件夹

时间:2012-10-04 04:59:33

标签: visual-studio visual-studio-2012 build-process

我的VS 2012项目结构如下:

Project
   Folder1
      file.xml
      schema.xsd
      code.cs
   Folder2
      code1.cs
      code2.cs

我将Copy to output directoryfile.xml的{​​{1}}属性设置为schema.xsd,并希望将它们输出到程序集输出的相同文件夹(Copy always)但是它们始终复制到文件夹bin\Debug。有没有办法实现我的目标,而无需将文件移动到项目的根目录?

1 个答案:

答案 0 :(得分:16)

我建议您使用Post-built事件脚本执行此操作。它不像听起来那么忙碌,给你很大的灵活性。

  • 右键单击您的项目,然后选择属性
  • 转到构建活动标签,然后点击修改后期构建...

(见下面的截图)

现在,您可以指定在每次成功构建项目后执行的shell命令。以下是您问题中的示例:

copy "$(ProjectDir)Folder1\file.xml" "$(TargetDir)"
copy "$(ProjectDir)Folder1\schema.xsd" "$(TargetDir)"

$(ProjectDir)$(TargetDir),它们会插入与您的项目相关的各个值。您可以从编辑窗口的宏菜单中选择和插入宏。

引号包含在上面,因为您的ProjectDirTargetDir可能会解析为包含空格的完整路径,如果空格不存在,则会破坏copy命令。

Opening Porject Properties

Editing Post Build