调用mono_jit_init时退出1

时间:2017-06-03 13:30:29

标签: c++ windows mono embed

嗨,我尝试在Windows上的c ++应用程序中嵌入mono。我跟着http://www.mono-project.com/docs/compiling-mono/windows/,我有为win64构建的标题,lib和dll。 我写了一个简单的应用程序,只需要调用

MonoDomain *domain;
domain = mono_jit_init("ConsoleApplication1.exe");

所有内容都构建并链接查找但是当我运行我的程序时,我可以中断并逐步调用mono_jit_init。然后,应用程序执行exit1,我无法查看错误。

我尝试了发布和调试。

有关如何查找问题的任何想法?正确嵌入单声道? 谢谢,JNQ

1 个答案:

答案 0 :(得分:0)

您的应用程序可能无法加载Mono库。

您可以使用进程监视器(https://docs.microsoft.com/en-us/sysinternals/downloads/procmon)找出确切失败的内容:

  • 运行Process Monitor
  • 将Process Monitor过滤器设置为“[Process Name] [is] [您的进程名称,例如ConsoleApplication1.exe],然后[Include]”
  • 运行程序并使用“NAME NOT FOUND”结果查找“CreateFile”操作,并查看路径列以找出缺少的文件

在我的情况下,从lib \ mono \ 4.5 \ mscorlib.dll加载mono mscorlib.dll失败,因此将文件从Mono安装复制到Process Monitor指向的路径有帮助。