C++ 从C+;中的Mono Assembly.dll获取所有类型/类的列表+;

C++ 从C+;中的Mono Assembly.dll获取所有类型/类的列表+;,c++,mono,C++,Mono,我正在尝试获取Mono程序集文件的所有类型和/或类的列表,但我找不到如何执行该操作。我的目标是在C++中加载程序集.dll ,并读取它的类型和类,以便我可以使用单类、类、GETYFEX 等 这是我在.dll中用已知类名尝试的,但是class1是NULL。这里出了什么问题 ExampleClass正在执行System.Object,该对象位于mscorlib.dll中。是否有某种链接需要在C++代码中获得正确的单类*//>?< /p> 这是我尝试过的,但是mono\u class\u from\u

我正在尝试获取Mono程序集文件的所有类型和/或类的列表,但我找不到如何执行该操作。我的目标是在C++中加载<代码>程序集.dll <代码>,并读取它的类型和类,以便我可以使用<代码>单类、类、GETYFEX 等

这是我在.dll中用已知类名尝试的,但是
class1
NULL
。这里出了什么问题

ExampleClass
正在执行
System.Object
,该对象位于
mscorlib.dll
中。是否有某种链接需要在C++代码中获得正确的<代码>单类*//>?< /p> 这是我尝试过的,但是
mono\u class\u from\u name
返回
NULL

#include <windows.h>
#include <mono/metadata/assembly.h>
#include <mono/metadata/mono-config.h>
#include <mono/metadata/appdomain.h>
#include <mono/jit/jit.h>

int main()
{
    mono_set_dirs("C:\\Program Files\\Mono\\lib", "C:\\Program Files\\Mono\\etc");

    MonoDomain *domain;

    domain = mono_jit_init("test");

    MonoAssembly *assembly = mono_domain_assembly_open(domain, "C:\\Users\\Ik\\Documents\\Visual Studio 2015\\Projects\\MonoExtractor\\x64\\Debug\\Assembly-CSharp.dll");
    MonoImage *image = mono_assembly_get_image(assembly);

    // testing to see if I can get a known class
    MonoClass *class1 = mono_class_from_name(image, "", "ExampleClass");

    if (!class1) {
        printf("Could not find class!\n");
    }

    system("pause");

    return 0;
}
#包括
#包括
#包括
#包括
#包括
int main()
{
mono_set_dirs(“C:\\Program Files\\mono\\lib”、“C:\\Program Files\\mono\\etc”);
单域*域;
域=mono_jit_init(“测试”);
MonoAssembly*assembly=mono\u domain\u assembly\u open(域,“C:\\Users\\Ik\\Documents\\Visual Studio 2015\\Project\\MonoExtractor\\x64\\Debug\\assembly CSharp.dll”);
MonoImage*image=mono_assembly_get_image(assembly);
//测试看看我是否能得到一个已知的类
MonoClass*class1=mono_class_from_name(图像,“,”示例类“);
如果(!class1){
printf(“找不到类!\n”);
}
系统(“暂停”);
返回0;
}

我必须将其他相关DLL也放在同一目录中,以使其工作。

我必须将其他相关DLL也放在同一目录中,以使其工作正常