背景
安装GtkSharp这个包准备使用C#进行跨平台窗体应用程序开发,运行时发现其需要从github上下载【https://github.com/GtkSharp/Dependencies/raw/master/gtk-3.24.24.zip】这个依赖包,不知道是被墙了还是咋的,下载超时导致运行失败。
解决
链接: https://pan.baidu.com/s/1QngEAd5l1b6XJk7Onm2iOg?pwd=i9t2 提取码: i9t2 复制这段内容后打开百度网盘手机App,操作更方便哦
下载到本地后【不必解压】,将其放置一个http文件服务器中,我是开启并使用windows自带的IIS来实现,具体步骤如下:
1.我的文件路径是C:/迅雷下载
2.打开IIS【具体IIS开启方式这里不进行赘述,百度一下,非常简单】配置一个网站,路径就是这个 C:/迅雷下载
3.在visual studio 2022中修改 GtkSharp.targets文件为如下,使得程序运行时,vs2022从我们的文件服务器下载这个依赖包
4.大功告成【附Program.cs源代码】,稍加熟悉此包,就可以使用C#进行跨平台窗体程序开发了
using Gtk; namespace LinuxForm { internal class Program { static void Main(string[] args) { Application.Init(); Window window = new Window("Linux Form"); window.DefaultSize = new Gdk.Size(200, 200); window.WindowPosition = WindowPosition.Center; window.DeleteEvent += Window_DeleteEvent; Button button = new Button(); button.Label = "Click Me"; button.Clicked += Button_Clicked; window.Add(button); window.ShowAll(); Application.Run(); } private static void Button_Clicked(object? sender, EventArgs e) { Dialog dialog = new Dialog(); dialog.Show(); } private static void Window_DeleteEvent(object o, DeleteEventArgs args) { Application.Quit(); } } }