无法将托管的.dll添加到C#项目中

时间:2015-08-20 11:22:44

标签: c# c++ .net dll managed

我有一个C ++库,并且在C#解决方案中使用我创建了一个CLR项目(托管)。所以,我把托管的.dll包含在我想要的C#项目中。 intellisense可以看到它,我可以从该库访问类,但是当我编译代码时“找不到类型或命名空间名称”XXXX“(你是否缺少using指令或程序集引用?)。 我试图清理并重建项目,重新启动Visual Studio(2013),删除它并再次添加引用等等,但没有成功。

谢谢!

3 个答案:

答案 0 :(得分:1)

发现问题了!似乎托管代码是基于4.5框架构建的,而我想要引入.dll的项目是在4.0框架上。

答案 1 :(得分:0)

试试这个:

右键点击项目参考中的dll

选择属性

设置"嵌入互操作类型"为假

答案 2 :(得分:0)

如果托管网桥调用某些非托管代码,则需要确保Visual Studio将本机(非托管)库复制到正确的子目录中。 IDE将按预期复制托管桥代码(即进入Release或Debug或任何子目录),但它不了解桥接代码与非托管代码之间的链接,以便将非托管库复制到正确的位置