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

tsi*_*nyx 9 build-process visual-studio visual-studio-2012

我有VS 2012项目的结构如下:

Project
   Folder1
      file.xml
      schema.xsd
      code.cs
   Folder2
      code1.cs
      code2.cs
Run Code Online (Sandbox Code Playgroud)

我设置Copy to output directory属性file.xmlschema.xsd,Copy always并希望将它们输出到程序集outputed(bin\Debug)的同一文件夹,但它们总是复制到文件夹bin\Debug\Folder1.有没有办法实现我的目标,而无需将文件移动到项目的根目录?

Pie*_*ler 16

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

  • 右键单击项目,然后选择" 属性".
  • 转到Build Events选项卡,然后单击Edit Post-build ...

(见下面的截图)

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

copy "$(ProjectDir)Folder1\file.xml" "$(TargetDir)"
copy "$(ProjectDir)Folder1\schema.xsd" "$(TargetDir)"
Run Code Online (Sandbox Code Playgroud)

$(ProjectDir)并且$(TargetDir)是插入与项目相关的各个值的.您可以从编辑窗口的宏菜单中选择和插入宏.

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

打开项目属性

编辑Post Build