【问题标题】:How to create a .app mono bundle for Mac OS如何为 Mac OS 创建一个 .app 单声道包
【发布时间】:2011-06-09 23:11:12
【问题描述】:

我正在尝试为我的 mono 程序创建一个 .app 包以在 Mac OS X 上运行,但尽管阅读了几乎所有关于 macpack 和捆绑 mono 的文章和文档,但这些方法都不起作用。

使用 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。

【问题讨论】:

  • 您使用的是 Mono 版本的 Nini 吗?

标签: c# mono bundle


【解决方案1】:

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

但是,您在这里看到的问题是您的软件包中缺少您的 dll(The Nini 程序集)。它需要在您的应用程序路径中(在它被捆绑之后)才能正确加载。

【讨论】:

  • 我设法使用手动方法使其工作 - 我将 Nini 文件放在 .app 目录中。感谢您的帮助。
猜你喜欢
  • 1970-01-01
  • 2012-11-19
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-09-24
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多