Eto: 无法运行 .net core 2.0 演示

创建于 2019-02-23  ·  6评论  ·  资料来源: picoe/Eto

你好@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?)

最有用的评论

@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 的支持。

所有6条评论

@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 的支持。

此页面是否有帮助?
0 / 5 - 0 等级