"始终复制"解决方案内容(DLL)到可执行目录root

dum*_*dad 7 dll visual-studio visual-studio-2013

作为背景,我试图让其中一个Emgu CV示例正常工作.这是在"寻找emgucv上的运动检测功能"的答案中提到的运动检测示例

为了使示例代码正常工作,我需要向项目添加对Emgu CV DLL的引用,并确保将相关的Open CV DLL复制到项目构建的输出可执行目录中.相关的DLL列在EMGU维基上.

我通过将它们作为内容添加到示例项目并在内容属性中将它们标记为"始终复制"来添加Open CV DLL:

VS2012中的内容属性设置为

我不希望这些混乱项目的根级别,所以我添加了一个项目文件夹来将这些DLL放入:

解决方案资源管理器显示带有DLL的项目文件夹

但是,当我构建项目时,DLL使用相同的目录层次结构进行复制,即它们在执行目录中有一个我不想要的封闭文件夹:

文件资源管理器显示包含DLL的目录

我需要设置哪些属性以确保将DLL复制到执行目录中但是复制到其根目录而不是子目录中?

==========编辑==========

请注意,我不能将这些DLL添加为项目的引用,因为它们既不是.Net程序集也不是COM组件,而是Open CV C++库.

use*_*116 3

我们的团队将文件保存在与您类似的文件夹中,但是我们不是将文件夹添加到项目中,而是通过将项目作为链接添加到文件夹的顶层来引用您的主项目中的这些 DLL:

添加项目作为链接的图像

和以前一样,将每个项目设置为内容始终复制(解决方案文件夹中显示的项目):

解决方案的视图

然后,当您构建时,它们会将其放入您的输出目录:

输出目录

它并不那么漂亮——你仍然可以在你的主项目中看到它们——但它至少把它们放在了正确的位置。