在没有mono运行时的情况下,在OSX上部署mono mkbundle创建的.Net应用程序
我正在尝试创建用于部署使用mono 3.10.0和mkbundle编译的.Net应用程序的包 mkbundle命令行:在没有mono运行时的情况下,在OSX上部署mono mkbundle创建的.Net应用程序,.net,macos,mono,mkbundle,.net,Macos,Mono,Mkbundle,我正在尝试创建用于部署使用mono 3.10.0和mkbundle编译的.Net应用程序的包 mkbundle命令行: mkbundle --deps -o $V_OUTPUT_FILE_NAME $V_Target_FILES 软件包已经创建,但当我在没有mono framework Maverick OS的机器上运行它时,我得到以下错误 dyld: Library not loaded: /Library/Frameworks/Mono.framework/Versions/3.10.
mkbundle --deps -o $V_OUTPUT_FILE_NAME $V_Target_FILES
软件包已经创建,但当我在没有mono framework Maverick OS的机器上运行它时,我得到以下错误
dyld: Library not loaded: /Library/Frameworks/Mono.framework/Versions/3.10.0/lib/libmonoboehm-2.0.1.dylib
Referenced from: /Applications/MyApp.app/Contents/Resources/./MyApp.exe
Reason: image not found
Trace/BPT trap: 5
从mkbundle文档中,我了解到-deps参数应该将所有必需的库链接到我的bundle中,并且由于许可问题,我不想使用-static标志
我希望能够在OSX机器上部署我的应用程序,而无需安装mono框架
我需要在安装中包含哪些文件才能在没有安装mono framework的OSX机器上运行。如果不使用-static,目标机器将需要安装mono framework
没有办法解决这个问题。如果不想使用-static,则需要将libmonoboehm-2.0.1.dylib与MyApp二进制文件一起提供 然后需要使用install_name_工具修改MyApp二进制文件,以便从正确的位置加载libmonoboehm-2.0.1.dylib 假设您正在运送应用程序捆绑包: libmonoboehm-2.0.1.dylib和MyApp二进制文件放在Contents/MacOS文件夹中 使用下面粘贴的命令确保MyApp从正确的位置加载mono 安装_name_工具-change/Library/Frameworks/Mono.framework/Versions/3.10.0/lib/libmonoboehm-2.0.1.dylib@executable_path/libmonosgen-2.0.1.dylib MyApp