2010-06-28 106 views
20

可能重复:
Copy to Output Directory copies folder structure but only want to copy filesVisual Studio - 将“内容”文件发送到输出目录而不是子目录?

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

不幸的是,因为这些文件都在子目录中,所以VS似乎认为它们应该以这种方式部署。它们不是部署到\ bin \ Debug,而是部署到\ bin \ Debug \ DLL。有没有什么简单的方法让VS直接将它们部署到\ bin \ Debug,或者我需要做一些自定义构建操作来将它们复制到位?

回答

21

这是因为您已将它们放在解决方案的文件夹中。实用的解决方案是简单地将它们添加到解决方案根目录中,文件的实际位置并不重要。这可能会在解决方案资源管理器窗口中造成一点混乱。如果这是不可接受的,则使用xcopy/d的预生成事件是解决方法。

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

+0

是啊,这就是我想通。谢谢。 – markerikson 2010-06-28 21:22:39

0

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

0

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