如何部署GTK#应用程序并提供依赖关系。我得到libgobject-2.0-0.dll异常

问题描述:

我已经创建了一个我打算在LINUX/Windows上部署的GTK#应用程序。如何部署GTK#应用程序并提供依赖关系。我得到libgobject-2.0-0.dll异常

我不想要求目标安装GTK或任何其他依赖项。有鉴于此,在开发了这个项目之后,我指示MonoDevelop使用所有引用的“本地拷贝”。这将关联的DLL复制到构建文件夹。

我的问题:

  1. 由于依赖关系设置为本地我收到运行System.TypeInitializationExceptionGtk.Application.Init()。投诉如下。如果我删除引用的“本地副本”设置,则不会收到运行时异常,但我将无法将该应用程序部署到未安装GTK3#的系统上。有任何想法吗?

内部异常: System.DllNitFoundException:libgobject-2.0-0.dll。 消息:“GLib.GType”类型 初始值设定项引发异常。

  1. 假设我可以解决问题(1),是有可能更进一步,打包的依赖关系进建可执行使得EXE不依赖于分离的本地副本该dll文件?
  2. 非常感谢您提供的任何帮助来回答这个问题。

开始=“2”>

问题是,您不仅需要Gtk#的C#DLL,还需要gtk + 2(Gtk#所基于的C库)的低级DLL。

一种策略是将DLL与您的程序一起部署,但请记住您需要大量的DLL。另一个我能想到的是在mono-project.com中使用安装程序,并从您的应用程序的安装程序启动它。