我创建了一个示例c ++应用程序,它使用动态链接嵌入单声道(如此处所述http://www.mono-project.com/Embedding_Mono)并使用C#进行脚本编写。只要mono安装在全局程序集缓存(GAC)中,它就可以正常运行。
有没有办法将mono与我的c ++可执行文件捆绑在一起,以便我可以将它与我的c ++可执行文件一起安装?
我一直在关注mkbundle,但它看起来像是用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");
编辑:
更正:我只需要在可执行文件夹中复制/粘贴mono-2.0.dll并使用
mono_set_dirs("C:\\cygwin\\usr\\local\\lib","C:\\cygwin\\usr\\local\\etc");
强制使用特定框架
答案 0 :(得分:1)
Mono由两个不同的部分组成:
基本上您需要提供自己的GAC - 通过将其带入您的应用程序文件夹结构,然后将MONO_GAC_PREFIX
环境变量设置为您安装的任何位置,即可轻松完成。