如何部署GTK#应用程序和供应依赖性.我得到libgobject-2.0-0.dll异常



我创建了一个我打算在Linux/Windows上部署的GTK#应用程序。

我希望不要求目标安装GTK或任何其他依赖关系。

考虑到这一点,我在开发了该项目后,指示Monodevelop使用其所有参考文献的"本地副本"。这将关联的DLL复制到构建文件夹。

我的问题:

  1. 由于将依赖关系设置为本地i接收一个运行时 system.typeinitializationexception at gtk.application.init()。投诉在下面。如果我删除了参考文献的"本地副本"设置,则我没有收到运行时异常,但是我将无法在未安装的GTK3#的系统上部署该应用程序。有什么想法吗?

内部异常: system.dllnitfoundException:libgobject-2.0-0.dll。消息:类型 'glib.gtype'的初始化器抛出了一个例外。

  1. 假设我可以解决问题(1),是否可以走得更远并将依赖项打包到构建的可执行文件中,以便EXE不依赖DLL文件的分离本地副本?

事先感谢您提供的任何帮助来回答这个问题。

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

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

最新更新