GtkSharp:实践指南

作者:袖梨 2026-09-11

实际评估GtkSharp时,我先确认它解决的具体问题:.NET Gtk 和其他相关库的包装器。把它放到日常自动化流程中,最容易暴露的是输入边界、依赖和失败处理如果不清楚就很难稳定复用,不能只看演示是否顺利。与其反复读介绍,不如用一项范围明确的真实任务完成最小试跑,再依据配置时间、输出质量、异常信息和维护痕迹做取舍。如果团队属于愿意先做小范围验证并复查原始文档的团队,它有继续测试的理由;否则先看替代方案会更省时间。

GtkSharp

GtkSharp 是 Gtk 及其相关组件的 C# 包装器。组件列表包括以下库:glib、gio、cairo、pango、atk、gdk。这是 https://github.com/mono/gtk-sharp 的一个分支,完全独立于该项目进行维护。

差异可以通过下表看出:

目标框架 目标 Gtk 版本 额外说明
GtkSharp .NET标准2.0 GTK 3.22 不需要粘合库。
mono/gtksharp .NET框架4.5 Gtk 2(也是 Gtk 3.0 但从未正式发布)
  • 从源码构建
  • 使用库
  • 许可证

从源头构建

从源代码构建的先决条件是您已在系统上安装了 .Net 6。

要构建存储库,只需执行以下操作:

git clone https://github.com/GtkSharp/GtkSharp.git
cd GtkSharp
dotnet tool restore
dotnet cake build.cake

源结构的细分:

  • 生成包装器代码所需的工具可在 Tools 文件夹中找到
  • 实际的包装器代码可以在 Libs 文件夹中找到
  • 模板位于 模板 文件夹中
  • 构建脚本位于 build.cake 和 CakeScripts 文件夹之间

使用图书馆

在 macOS 上,您需要手动安装 Gtk,有关如何安装的更多详细信息,请参阅 在 Mac 上安装 Gtk wiki 页面。

可用的 NuGet 封装:

  • GtkSharp
  • GdkSharp
  • GioSharp
  • GLibSharp
  • AtkSharp
  • PangoSharp
  • CairoSharp
  • GtkSourceSharp

要创建新的 gtk 应用程序项目,只需使用 dotnet new 模板引擎:

  • 安装:dotnet new --install GtkSharp.Template.CSharp
  • 卸载:dotnet new --uninstall GtkSharp.Template.CSharp
  • 生成项目:dotnet new gtkapp

相关文章

精彩推荐