将mono与c+捆绑+;嵌入它的应用程序 我创建了一个示例C++应用程序,它使用动态链接嵌入单声道(如这里所描述的),并使用C语言编写脚本。只要mono安装在全局程序集缓存(GAC)中,它就可以正常工作 P>有没有办法用我的C++可执行文件捆绑MNO,这样我就可以在C++的可执行文件旁边安装它?p>

将mono与c+捆绑+;嵌入它的应用程序 我创建了一个示例C++应用程序,它使用动态链接嵌入单声道(如这里所描述的),并使用C语言编写脚本。只要mono安装在全局程序集缓存(GAC)中,它就可以正常工作 P>有没有办法用我的C++可执行文件捆绑MNO,这样我就可以在C++的可执行文件旁边安装它?p>,mono,embed,bundle,mono-embedding,Mono,Embed,Bundle,Mono Embedding,我一直在关注mkbundle,但它似乎将mono与c#apps打包在一起 编辑:下面的答案已重新格式化 #include <cstdlib> _putenv("MONO_GAC_PREFIX=C:\\cygwin\\usr\\local\\bin\\"); mono_set_dirs("C:\\cygwin\\usr\\local\\lib","C:\\cygwin\\usr\\local\\etc"); #包括 _putenv(“MONO\u GAC\u PREFIX=C:\\c

我一直在关注mkbundle,但它似乎将mono与c#apps打包在一起

编辑:下面的答案已重新格式化

#include <cstdlib>
_putenv("MONO_GAC_PREFIX=C:\\cygwin\\usr\\local\\bin\\");
mono_set_dirs("C:\\cygwin\\usr\\local\\lib","C:\\cygwin\\usr\\local\\etc");
#包括
_putenv(“MONO\u GAC\u PREFIX=C:\\cygwin\\usr\\local\\bin\”;
mono\u set\u dirs(“C:\\cygwin\\usr\\local\\lib”、“C:\\cygwin\\usr\\local\\etc”);
编辑: 更正:我只需要在可执行文件的文件夹中复制/粘贴mono-2.0.dll并使用
mono\u set\u dirs(“C:\\cygwin\\usr\\local\\lib”、“C:\\cygwin\\usr\\local\\etc”)强制使用特定框架的Mono由两个不同部分组成:

  • 基本运行时是用C编写的,可嵌入,如OQ中所述
  • 很多类库,大部分是用C#编写的。它们不是与运行时一起嵌入的,而是驻留在GAC中

基本上你需要提供你自己的GAC-这很容易做到,把它带到你的应用程序文件夹结构中,然后将
MONO\u GAC\u PREFIX
环境变量设置到你安装的地方。

如果我设置了这个环境变量,我的用户安装了MONO,会发生什么?难道我的自定义单声道不是一直都可以执行而不是用户的单声道吗?非常好,谢谢#包括“\u putenv”(“MONO\u GAC\u PREFIX=C:\\cygwin\\usr\\local\\bin\”);mono\u set\u dirs(“C:\\cygwin\\usr\\local\\lib”、“C:\\cygwin\\usr\\local\\etc”);