背景
安装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();}} }