这与Visual Studio 2010 SP1一样。我在一个单独的C++项目中有一个C++类,我想从另一个项目(都生活在同一个解决方案中)访问和使用C#。我从C#引用了我的C++项目。我使用/ clr选项构建我的C++项目。我已经构建了一个C++类的托管版本,它调用相应的本机C++类。无法从VS 2010 SP1中的C#访问C++类/名称空间
当我从我的C#项目的“References”中右键单击我的C++项目引用,然后单击“在对象浏览器中查看”时,我的C++项目作为对象列表的一部分存在,我可以打开它并查看我正在尝试使用的我的类,名称空间等。但是,从C#代码中,当我尝试“使用”它不是自动完成名称空间列表的一部分时,实际上,如果我键入C++名称空间,则会出现编译错误。 “错误1类型或命名空间名称‘MyCppClass’找不到(是否缺少using指令或程序集引用?)”
而这个问题的答案是否定的,我不缺少using指令或装配参考,如上所述。另外,我的C++类不存在于默认的命名空间中,它们根本不存在于我的C#项目的Universe中。
那么......我做错了什么?
你能够添加任何其他外国dll吗?只是正常的C#的?如果您的项目设置为.net 4客户端配置文件,然后尝试将其更改为正常的.net 4并查看是否有帮助,那么我以前也遇到过类似的问题。 – 2012-01-27 05:00:51
我不知道其他外国DLL,需要尝试,但我可以参考其他C#项目。我被配置为.net 4客户端,并将其切换到正常的,但是这并没有解决我引用C++对象的问题。 – 2012-01-27 23:45:15
我有同样的问题...有没有人解决过这个问题? – casper 2013-01-28 15:09:58