你好@cwensley
使用最新的 master(以及带有 Net Core 2.2 的 VS2017.9)。
刚刚编译,然后走到 netcoreapp2.0 测试文件夹: https ://i.imgur.com/rWR7hj1.png
试图运行,并得到这个: https :
缺少哪些库? Net461 发布测试演示工作正常。
另一个问题(至少,对于我这个新手来说):net461\Eto.Test.Gtk3.exe - 它不会运行,因为默认情况下它:
a) 不将所需的库(gtk-sharp、gio-sharp 等)复制到目标二进制文件文件夹
b) 不复制库中根本不存在的 libgtk-win32-3.0-0.dll(为什么??在哪里可以获得正确的 dll?)
嘿@Krakean ,
缺少哪些库?
看起来您还没有为 Windows 安装 GTK+ 3。 您可能还必须设置指向 gtk+ 安装的路径才能使其工作。 我自己没有在 Windows 上做过,因为它看起来很耗时,我希望你使用 Eto.WinForms 或最好使用 Eto.Wpf,它不需要额外的依赖项。
在 macOS 上,我使用homebrew安装了 GTK+3 以进行成功测试,但主要使用 Mac64 或 XamMac2 平台。
在任何安装了 GTK+ 的 linux 上,它应该只适用于 .net core 或 mono。 如果您使用 mkbundle 或发布您的 .net 核心应用程序,它甚至不需要。
至于 Eto.Test.Gtk3.exe,它意味着只能在 linux 上使用gtk-sharp3包,该包在大多数发行版中都很常见,并且只能与单声道一起使用。 它也被弃用了,因为 gtk-sharp3 包没有得到积极维护并且多年来没有改变。
希望这可以帮助!
@Krakean你试过我的建议了吗?
@cwensley 有点。
看起来您还没有为 Windows 安装 GTK+ 3。 您可能还必须设置指向 gtk+ 安装的路径才能使其工作。
如果所有需要的库都出现在 repo 上就好了,这样用户就可以编译运行了。
至于 Eto.Test.Gtk3.exe,它意味着只能在 linux 上使用 gtk-sharp3 包
这是可悲的。 我对 Windows 上的 Gtk3 特别感兴趣:-\
因为 Gtk 只是风格化得更好 :) 看起来比 Wpf/Winforms 好一点。 特别是如果您安装了自定义 Windows 主题。 但是,Gtk 的性能比 Wpf 低很多,希望 Gtk3 在这方面优于 Gtk2。
@克拉肯,
如果所有需要的库都出现在 repo 上就好了,这样用户就可以编译运行了。
确实这可能很好,但 Eto.Forms 的构建是为了让您可以运行与您的操作系统匹配的平台,因此您无需安装这些巨大的依赖项。 它还将使您的应用程序在每个操作系统上看起来更好,因为它将使用其本机工具包。 比如Windows上的Gtk+3还是很丑的,感觉不像是原生的windows应用。
我对 Windows 上的 Gtk3 特别感兴趣:-
使用“Gtk”平台,它取代“Gtk3”平台并针对 Gtk+3(及更高版本)。
Eto.Gtk2 -> 需要 gtk-sharp2(它有适用于 Windows、Mac 和 Linux 的软件包)
Eto.Gtk3 -> 需要 gtk-sharp3,并且只能在 linux 上运行
Eto.Gtk -> 只需要 Gtk+3,因为它带有自己的 gtk-sharp 副本。 Gtk+3 有适用于所有平台的安装程序。
希望这会有所帮助,并感谢您的投入!
@Krakean @cwensley你能告诉我你提到的 .NET Core 演示在哪里吗?
@pablocar80打开 src/Eto.sln 并查看 test/Eto.Test.Gtk 项目。 它使用 .NET Core。
目前 Eto.Gtk 平台是唯一支持 .NET Core 的平台。 我计划在 .NET Core 3.0 和 Eto.Mac64 发布时为 Eto.Wpf 和 Eto.WinForms 添加对 .NET Core 的支持。
最有用的评论
@pablocar80打开 src/Eto.sln 并查看 test/Eto.Test.Gtk 项目。 它使用 .NET Core。
目前 Eto.Gtk 平台是唯一支持 .NET Core 的平台。 我计划在 .NET Core 3.0 和 Eto.Mac64 发布时为 Eto.Wpf 和 Eto.WinForms 添加对 .NET Core 的支持。