Mono mac packager不适用于gdiplus.dll

时间:2012-09-03 11:27:14

标签: mono monodevelop

我正在制作一个依赖于system.drawing的MonoMac桌面应用程序。这在MonoDevelop中工作正常,但创建的.app包没有。

我得到了这个例外:

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 / ...文件夹中搜索。我试图在MonoBundle文件夹中的配置文件以及libgdiplus.dll.dylib.config文件(和libgdiplus.dll.config)中添加dllmap条目。这些似乎被忽略了,因为我一直得到同样的错误。

我从哪里开始?

1 个答案:

答案 0 :(得分:0)

我可能建议切换到使用MonoMac.CoreGraphics而不是System.Drawing作为最佳解决方案。对于MonoMac应用程序(System.Drawing.Color和System.Drawing.RectangleF以及SizeF除外)并未真正考虑WinForms API。

您可以向http://bugzilla.xamarin.com提交有关此问题的错误报告吗?无论是我还是塞巴斯蒂安都需要研究如何长期解决这个问题。我不能保证你可能需要多长时间等待解决方案,所以你真的应该考虑使用CoreGraphics。