0
Monoアセンブリファイルのすべてのタイプおよび/またはクラスのリストを取得しようとしていますが、その方法を見つけることができませんでした。私はなどmono_class_get_fields
C++のMono Assembly.dllからすべてのタイプ/クラスのリストを取得
を使用することができますので、私の目標は、これは私が.dllファイルで知られているクラス名を指定してみましたが、class1
はNULL
だったもので、その種類とクラスをC++でassembly.dll
をロードして読むことです。ここで何がうまくいかないのですか?
ExampleClass
は、System.Object
であり、これはmscorlib.dll
である。私のC++コードの中に適切なMonoClass *
を得るために必要なリンクがありますか?
これは私が試したものですが、mono_class_from_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;
}