让 Monodevelop 使用下载的 GtkSharp

Get Monodevelop to use the downloaded GtkSharp

我通过 Project > Add NuGet Packages... 安装了 GtkSharp 3.22.24.36 包,它已成功完成。但是现在 Monodevelop 无法决定使用哪个版本的 GtkSharp(3.22.24.36 或 in-built 版本,2.12)。

如果我在编辑引用...对话框中取消选中gtk-sharp,它告诉我没有它我不能使用UI设计器.

如何让 Monodevelop 使用下载的 GtkSharp (3.22)?

MonoDevelop 附带自定义版本的 Gtk2 + Xwt 捆绑。如果您打算使用 Gtk3,则必须停用设计器,因为它不适用于 Gtk3。

我的建议是,无论如何,无论您使用哪种工具包,都应避免使用设计器。一旦你让设计师参与进来,你的代码就会在很大程度上取决于你使用的IDE(Visual Studio、MonoDevelop、NetBeans……你能想到的)。

创建用户界面 "by hand" 不再像 90 年代 Windows API 那样痛苦。比如你可以找到一个很好的Gtk# tutorial in ZetCode.

用户界面工具包实际上非常相似,它们改变了小部件的名称,有时提供略有不同的布局,但它们大部分都是相同的,无论是 WinForms 还是 Gtk(for C#),Swing (Java), 或 Qt (C++ 和其他).

我知道这是一个较旧的问题,但情况发生了变化。放弃 MonoDevelop,只使用 GtkSharp. You can then literally design interface using glade xml files, using official Glade application from GTK+. You can find it here.

的 .NET Standard 绑定实现

随着 MS 当前推动放弃 Framework 转而支持 Core,当我们发现他们将杀死 Framework(他们刚刚在 .NET 5 公告中这样做)时,我们终于屈服了,但我们也利用这个机会进行了调查我们的 LoB 端口到核心的其他选项。我们发现 GtkSharp 可以作为 WinForms 的替代品,AvaloniaUI 可以作为 WPF 的替代品,它们不仅可以完美工作,而且可以真正工作 cross-platform。我们已经移植了几个应用程序,实际上将超过一半的业务工作站从 Windows 移动到了 Linux。