繁体   English   中英

通过VS 2010中的多个项目对本机dll资源进行级联复制

[英]Cascade copy of native dll resource through several projects in VS 2010

你好,我有一个由几个小项目组成的项目解决方案。 这些项目通过以下方式依赖于其他项目:

(1)具有设备控制功能的本机非托管C ++ DLL

用于......

(2)C#Project将本机函数包装到.Net

用于......

(3)适配器包装到特殊设备到由框架定义的更一般的抽象层

用于......

(4)一个简单的示例实现尝试通过抽象框架使用此本机设备接口

现在问题:原生dll(1)被添加到.Net包装器项目(2)中作为“现有项目”,“build event = content”和“copy to output ... = always”,因为“Hans Passant”将其设置为这问题解决方案 本机dll通过DllImportAttribute在此包装器中使用。 这适用于这个项目。 该DLL将被复制到输出目录,并可由包装器找到。

包装器(2)用作适配器包装器项目(3)中的“引用”,并且原生dll(1)也被复制到输出目录,并可由.Net包装器(2)找到并使用。 但…

..当我将适配器包装项目(3)作为“引用”添加到简单示例项目(4)时,本机dll(1)将不会被复制到此示例项目(4)的输出目录中。 因此.Net包装器(2)将找不到dll并导致System.DllNotFoundException。

我的问题是:我怎样才能使这项工作,当我将适配器包装项目(3)添加到另一个项目时,所有必需的并且在输出目录中的dll(包括本机dll(1))都是复制到引用项目输出目录? 而这并没有像Marc Gravell所说的那样将原生dll作为资源添加到示例实现中。

非常感谢,J

也许我错过了什么,但是如果要将每个项目的输出路径更改为一个常见的“bin”文件夹呢?

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM