簡體   English   中英

如何為 Mac OS 創建 a.app mono 捆綁包

[英]How to create a .app mono bundle for Mac OS

我正在嘗試為我的 mono 程序創建一個 .app 包以在 Mac OS X 上運行,但是盡管閱讀了幾乎所有關於 macpack 和捆綁 mono 的文章和文檔,但這些方法都不起作用。

使用 macpack 將二進制文件成功捆綁在 a.app package 中:

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

. 當我嘗試從 package 啟動程序時,會發生這種情況:

FFMACM-2:MacOS dev$ open -a APP
LSOpenURLsWithRole() failed for the application /Users/dev/Workspace/Software/APP.app with error -10810.

我嘗試使用此方法,但腳本失敗並出現以下錯誤:

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 是它應該在的地方。 我正在為 GUI 使用 GTK#。

現在使用 MonoMacPackager 為 MacOS X 創建 package。 你可以在這里找到詳細信息http://www.mono-project.com/MonoMacPackager

但是,您在這里看到的問題是您缺少 package 中的 dll(Nini 組件)。 它需要在您的應用程序路徑中(在它被捆綁之后)才能正確加載。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM