从C#引用C ++ / clr项目的问题

时间:2010-07-09 10:13:32

标签: c# visual-studio c++-cli

我使用/ CLR开关(“gloox”,一个XMPP库)编译了一个本机C ++项目。构建成功,我可以从C#项目引用它(即它显示在References文件夹中)。 C ++项目在命名空间'gloox'下公开了一些类。

我还可以在对象浏览器中看到gloox {}命名空间以及所有导出的类。

问题是,从C#项目中我无法“看到”gloox命名空间(即'使用gloox'不能编译)。

由于

1 个答案:

答案 0 :(得分:2)

C ++项目是否公开任何托管类型(ref classvalue classenum class)? /CLR选项不会奇怪地使托管代码可以使用类型,您需要托管元数据,该托管元数据仅适用于托管类型,并且需要公开类型才能从其他程序集中使用。

(为了完全准确,C ++ / CLI编译器有时会为本机类创建元数据,尤其是在/clr:pure模式下,但是将它们标记为内部,因此您不能在其他语言中使用它们本机C ++规则。)