c# – OSX上的Mono:找不到gtksharpglue-2.dll

前端之家收集整理的这篇文章主要介绍了c# – OSX上的Mono:找不到gtksharpglue-2.dll前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在尝试在C#中完成我的第一步,并希望构建一个空的GTK窗口作为我的第一个任务.通过macports我安装了以下软件包:

> mono@2.10.9
> gtk-sharp@1.0.10
> gtk-sharp2@2.12.10

我也使用Mono主页上的MonoDevelop.

我将gtk-sharp.dll(来自/opt/local/lib/mono/gtk-sharp-2.0)添加到我的参考资料中.
我的代码看起来像这样:

  1. using System;
  2. using Gtk;
  3.  
  4. namespace lolbr_client
  5. {
  6. class MainClass
  7. {
  8. public static void Main (string[] args)
  9. {
  10. Console.WriteLine("Loading..");
  11. Window window = new Window("test");
  12. }
  13. }
  14. }

当我编译并运行该代码片段时,它似乎找到并包含GTK库,它将“Loading ..”打印到控制台,但Console.WriteLine()之后的行会导致此错误

  1. System.DllNotFoundException: gtksharpglue-2
  2. at (wrapper managed-to-native) Gtk.Container:gtksharp_gtk_container_get_focus_child_offset ()
  3. at Gtk.Container..cctor () [0x00000] in <filename unknown>:0

虽然我的文件系统上不存在特定的.dll,但快速定位gtksharpglue-2会显示以下文件

  1. /Library/Frameworks/Mono.framework/Versions/2.10.9/lib/libgtksharpglue-2.so
  2. /opt/local/lib/libgtksharpglue-2.a
  3. /opt/local/lib/libgtksharpglue-2.la
  4. /opt/local/lib/libgtksharpglue-2.so

这些文件对我有帮助吗?从这里调试/修复此问题的后续步骤是什么?我已经搜索了Google,但要么我对这个主题太新,要么无法识别有用的信息,要么就是不存在有用的信息.有人能帮我吗?提前致谢!

解决方法

如何运行GTK Sharp MONO应用程序(例如使用Xamarin Studio编译)的解决方案如下:

>将您的mono / gtk-sharp应用程序编译为Release
>像这样创建shell脚本文件(bash)(无论如何都要命名)

  1. [sharp]!/bin/sh
  2.  
  3. export DYLD_FALLBACK_LIBRARY_PATH="/Library/Frameworks/Mono.framework/Versions/Current/lib:$DYLD_FALLBACK_LIBRARY_PATH:/usr/lib"
  4. exec /Library/Frameworks/Mono.framework/Versions/Current/bin/mono ./AsketicExcel.exe

_3.然后你可以运行这个表单终端或你可以使用这个打包工具http://sveinbjorn.org/platypus并创建正常的OSX应用程序:)(在包中包含所有文件在发布目录中)

然后,为了在其他mac上运行此应用程序,您需要安装GTK#&单声道运行时http://www.go-mono.com/mono-downloads/download.html

最后它看起来像:

猜你在找的C#相关文章