出口c&x2B+;C#应用程序中的函数

出口c&x2B+;C#应用程序中的函数,c#,c++,dll,export,managed-code,C#,C++,Dll,Export,Managed Code,您好, 很抱歉打扰您,我将向您展示以下问题: 我试图在DLL中导出一些C++语言编写的函数,以便将它们导入到VisualStudio上运行的C语言应用程序中。 我按照以下代码中的报告进行导出 tobeexported.h: namespace SOMENAMESPACE { class __declspec(dllexport) SOMECLASS { public:

您好, 很抱歉打扰您,我将向您展示以下问题:

我试图在DLL中导出一些C++语言编写的函数,以便将它们导入到VisualStudio上运行的C语言应用程序中。 我按照以下代码中的报告进行导出

tobeexported.h:

namespace SOMENAMESPACE
{
                class __declspec(dllexport) SOMECLASS
                {
                               public: 
                               SOMETYPE func(param A,char b[tot]);

                };
}
tobeexported.cpp:

#include "stdafx.h"
#include "tobeexported.h"
...


using namespace SOMENAMESPACE;

SOMETYPE SOMECLASS:: func(param A,char b[tot])
                {
                               ...some stuff inside...
                }
dll是严格创建的,代码已经由CLR管理(使用反汇编软件(reflector)查看),并且包含导出的函数 然后我在我的c#应用程序中“添加引用”并找到dll,但是当 我用对象浏览器打开它,它是完全空的,既没有类,也没有对象被导出并准备好使用

你能帮我吗? 谢谢
诚挚的问候,

< P>使用管理C++编译DLL的方法是什么?然后您只需向类添加一个ref,如下所示:

namespace SOMENAMESPACE
{
                public ref class SOMECLASS
                {
                               public: 
                               SOMETYPE func(param A,char b[tot]);

                };
}
在其他项目中成功编译和引用之后,该类应该是可见的。导出本地C++不是真正的可移植的,每个编译器产生不同的结果,并且从C……/p>内绑定是乏味的。
编辑:向REF类……/P>添加公共访问修饰符。谢谢回答,我使用的是托管C++(VisualStudio中包含C++代码的项目是“类库”),但是即使使用“REF”命令而不是导出它工作,给定的结果完全一样。[导入的操作是可能的,因为我以前导入了一个C++ DLL;我创建了一个新的DLL,它与工作的一个DLL非常相似,但是没有什么好的事情发生^ ^ ]谢谢,抱歉,我忘了告诉你添加公共的,<代码>公共REF类…<代码>。我希望这样做会很好。在.NET反射器中,可见性可能是私有的或内部的,对吗?