NET的Java调用

NET的Java调用,java,c#,c++,.net,dcom,Java,C#,C++,.net,Dcom,我尝试在Java中使用.NET库。因此,我使用C++项目的JNI调用,它引用/使用.NET.< /P>的DLL。 要使用.NET库,我有几个步骤。首先,我使用C++项目作为库和C++项目之间的“包装器”实例。C#项目创建了一个DLL 主包装器C#类(CSHARPWRAPPERSession)是[ComVisible(true)],具有固定的GUID[GUID(“XXX”)] 从这个“C#”DLL中,我创建了一个TLB文件。 这个TLB文件是由我的C++项目导入的。p> #import ".\C

我尝试在Java中使用.NET库。因此,我使用C++项目的JNI调用,它引用/使用.NET.< /P>的DLL。

要使用.NET库,我有几个步骤。首先,我使用C++项目作为库和C++项目之间的“包装器”实例。C#项目创建了一个DLL

主包装器C#类(CSHARPWRAPPERSession)是[ComVisible(true)],具有固定的GUID[GUID(“XXX”)] 从这个“C#”DLL中,我创建了一个TLB文件。 这个TLB文件是由我的C++项目导入的。p>
#import ".\CSHARPWRAPPER.NET.tlb" no_namespace, named_guids

当我从C++项目中创建一个EXE时,我可以完美地使用包装器并调用需要.NET库。

<>现在我尝试在C++项目和java之间建立连接。因此,我使用JNI并从C++中创建DLL。 这将导致错误0x80040154–未注册类

当我尝试调用CoCreateInstance(CLSID_CSHARPWRAPPERSession)时,会发生此错误

我已经向regasm注册了所有使用过的库,并对其进行了gacutil。 我做错了什么?有什么想法或建议吗