我正在尝试在Mac OS X上创建我的单声道程序的.app捆绑包,但尽管已经阅读了几乎所有关于macpack和捆绑单声道的文章和文档,但没有一种方法可行。
使用macpack,二进制文件成功捆绑在.app包中:
macpack -m:x11 -o:。 -r:sqlite3.dll -r:Nini.dll -r:extraIcons.ini -r:APP_DATABASE.db3 -r:APP_Values.db3 -r:./ Documents / manual.pdf -r:GemBox.Spreadsheet.dll -r :Mono.Data.SqliteClient.dll -a:APP.exe -n:APP
。当我尝试从包启动程序时,会发生这种情况:
FFMACM-2:MacOS dev$ open -a APP
LSOpenURLsWithRole() failed for the application /Users/dev/Workspace/Software/APP.app with error -10810.
我尝试使用this method,但脚本失败并出现以下错误:
Unhandled Exception: System.IO.FileNotFoundException: Could not load file or assembly 'Nini, Version=1.1.0.0, Culture=neutral, PublicKeyToken=691faec150a7fa7b' or one of its dependencies.
File name: 'Nini, Version=1.1.0.0, Culture=neutral, PublicKeyToken=691faec150a7fa7b'
at APP.MainClass.Main (System.String[] args) [0x00000] in <filename unknown>:0
logout
我的想法很新鲜。 Nini.dll应该是它的位置。我正在使用GTK#作为GUI。
答案 0 :(得分:9)
现在使用MonoMacPackager为MacOS X创建包。您可以在http://www.mono-project.com/MonoMacPackager找到详细信息。
然而,您在这里看到的问题是您从包中丢失了您的dll(Nini程序集)。它需要在您的应用程序路径中(在捆绑之后)才能正确加载。