Visual Studio - 将“内容”文件发送到输出目录而不是子目录?

时间:2010-06-28 17:18:36

标签: visual-studio visual-studio-2010

  

可能重复:
  Copy to Output Directory copies folder structure but only want to copy files

我正在使用VS2010。我有一个使用一些本机DLL的C#项目。在我的源代码树中,我将这些本机文件存储在主解决方案目录下的“DLLs”目录中。在我的C#项目中,我在其中列出了每个DLL的“DLLs”文件夹。每个DLL都设置为构建操作“内容”和“复制到输出”设置为“始终”。

不幸的是,由于这些文件位于子目录中,VS似乎认为应该以这种方式部署它们。它们被部署到\ bin \ Debug \ DLLs,而不是部署到\ bin \ Debug。有没有直接的方法来说服VS将它们直接部署到\ bin \ Debug,还是我必须做某种自定义构建操作来将它们复制到位?

3 个答案:

答案 0 :(得分:21)

这是因为你已经在解决方案的文件夹中找到了它们。实用的解决方案是简单地将它们添加到解决方案根目录,文件的实际位置无关紧要。这可能会在您的解决方案资源管理器窗口中造成一些混乱。如果这是不可接受的,那么使用xcopy / d的预构建事件就是解决方法。

  

xcopy /d "$(ProjectDir)DLLs\*.dll" "$(TargetDir)"

答案 1 :(得分:0)

我们正在使用Build Events这样的事情。 只需编写xcopy命令并将所有dll复制到所需的文件夹

答案 2 :(得分:0)

我认为您需要构建操作。但是,您不必创建整个构建脚本 - 在项目属性的“构建事件”选项卡下,您可以在“构建后事件命令行”中指定要执行的操作。