Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在没有mono运行时的情况下,在OSX上部署mono mkbundle创建的.Net应用程序_.net_Macos_Mono_Mkbundle - Fatal编程技术网

在没有mono运行时的情况下,在OSX上部署mono mkbundle创建的.Net应用程序

在没有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.

我正在尝试创建用于部署使用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.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