如何为Mac OS创建.app mono包

时间:2011-05-02 22:03:15

标签: c# mono bundle

我正在尝试在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。

1 个答案:

答案 0 :(得分:9)

现在使用MonoMacPackager为MacOS X创建包。您可以在http://www.mono-project.com/MonoMacPackager找到详细信息。

然而,您在这里看到的问题是您从包中丢失了您的dll(Nini程序集)。它需要在您的应用程序路径中(在捆绑之后)才能正确加载。