2012-09-03 37 views
2

我正在製作一個MonoMac桌面應用程序,它依賴於system.drawing。這在MonoDevelop中工作正常,但創建的.app包不包含。Mono mac打包程序不能與gdiplus.dll配合使用

我得到這個異常:

System.DllNotFoundException: gdiplus.dll 

現在,有到網上,部分近期這裏的一個解決此特定問題的許多參考:http://bugzilla.xamarin.com/show_bug.cgi?id=3263

但是,我一直無法得到它的工作。我可以將libgdiplus.dll.dylib從lib文件夾複製到我的應用程序的MonoBundle文件夾中,這讓我更進一步。現在設置MONO_LOG_LEVEL調試告訴我:

Mono: DllImport error loading library 'dlopen([app]/Contents/MonoBundle/libgdiplus.dll.dylib, 9): Library not loaded: /Library/Frameworks/Mono.framework/Versions/2.10.9/lib/libglib-2.0.0.dylib 
    Referenced from: [app]/Contents/MonoBundle/libgdiplus.dll.dylib 
    Reason: image not found'. 

我已經複製libglib-2.0.0 *在那裏名爲.dylib爲好。這沒有幫助,因爲它在Library/Frameworks/...文件夾中搜索。我試圖將dllmap條目添加到MonoBundle文件夾中的配置文件以及libgdiplus.dll.dylib.config文件(和libgdiplus.dll.config)中。這些似乎被忽略,因爲我不斷得到相同的錯誤。

我該從哪裏出發?

回答

0

我可能會建議切換到使用MonoMac.CoreGraphics而不是System.Drawing作爲最佳解決方案。對於MonoMac應用程序(除了System.Drawing.Color和System.Drawing.RectangleF和SizeF),WinForms API沒有真正考慮過。

您能否提交一份關於此的錯誤報告給http://bugzilla.xamarin.com?無論是我還是塞巴斯蒂安都需要考慮長期解決這個問題的方法。但是我不能保證你可能需要等待一個解決方案多久,所以你真的應該考慮使用CoreGraphics。

+0

謝謝。我想我會看看CoreGraphics。 –