2017-02-05 5 views
0

Monoアセンブリファイルのすべてのタイプおよび/またはクラスのリストを取得しようとしていますが、その方法を見つけることができませんでした。私はなどmono_class_get_fieldsC++のMono Assembly.dllからすべてのタイプ/クラスのリストを取得

を使用することができますので、私の目標は、これは私が.dllファイルで知られているクラス名を指定してみましたが、class1NULLだったもので、その種類とクラスを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; 
} 

答えて

0

私はそれがあまりにも動作するためには、あまりにも同じディレクトリに関連する他のDLLを入れていました。

関連する問題