Eto: Cannot run .net core 2.0 demos

Created on 23 Feb 2019  ·  6Comments  ·  Source: picoe/Eto

Hello @cwensley
Using latest master (and VS2017.9 with Net Core 2.2).

Just compiled, and walked to netcoreapp2.0 tests folder: https://i.imgur.com/rWR7hj1.png
Trying to run, and getting this: https://i.imgur.com/CkLyiCk.png
What libraries are lacking? Net461 release tests demos works fine.

Another issue (at least, for me as newcomer) with: net461\Eto.Test.Gtk3.exe - it doesn't run because by default it:
a) Doesn't copy needed libraries (gtk-sharp, gio-sharp, ...) to destination binaries folder
b) Doesn't copy libgtk-win32-3.0-0.dll which is not present in repository at all (why?? where I can get correct dll?)

Most helpful comment

@pablocar80 open up src/Eto.sln and look at the test/Eto.Test.Gtk project. It is using .NET Core.

Currently the Eto.Gtk platform is the only one that supports .NET Core. I plan to add support for .NET Core for Eto.Wpf and Eto.WinForms when .NET Core 3.0 is released and also Eto.Mac64 around the same time.

All 6 comments

Hey @Krakean,

What libraries are lacking?

It appears like you haven't installed GTK+ 3 for Windows. You probably also have to set up your path to point to the gtk+ installation for it to work. I haven't done it on Windows myself, as it looks time consuming and I'd hope you'd use either Eto.WinForms or preferably Eto.Wpf instead, which requires no extra dependencies.

On macOS, I have installed GTK+3 using homebrew for testing with success, but primarily use Mac64 or XamMac2 platforms.

On any linux with GTK+ installed it should work with only .net core or mono. If you use mkbundle or publish your .net core app, it wouldn't even need that.

As for Eto.Test.Gtk3.exe, it is meant to work on linux only with the gtk-sharp3 package that is common on most distros and only would work with mono. It is also deprecated because the gtk-sharp3 package is not actively maintained and hasn't changed for years.

Hope this helps!

@Krakean have you tried my suggestions?

@cwensley Sort of.

It appears like you haven't installed GTK+ 3 for Windows. You probably also have to set up your path to point to the gtk+ installation for it to work.

Would be nice if all needed libraries will just present on repo, so user can just compile-and-run.

As for Eto.Test.Gtk3.exe, it is meant to work on linux only with the gtk-sharp3 package

And this is sad one. I was especially interested in Gtk3 on Windows :-\
Because Gtk is just stylized better :) Looks a bit better, than Wpf/Winforms. Especially if you have custom Windows theme installed. But, Gtk performance is pretty low than Wpf, hoped may be Gtk3 is better than Gtk2 on this.

@Krakean,

Would be nice if all needed libraries will just present on repo, so user can just compile-and-run.

Indeed that might be nice, but Eto.Forms is built so you can run the platform that matches your OS so you don't need to install these huge dependencies. It will also make your app look better on each OS as it'll use its native toolkit. For example, Gtk+3 on Windows is still very ugly and doesn't feel like a native windows app.

I was especially interested in Gtk3 on Windows :-

Use the "Gtk" platform, it replaces the "Gtk3" platform and targets Gtk+3 (and greater).

Eto.Gtk2 -> requires gtk-sharp2 (which has packages for Windows, Mac, and Linux)
Eto.Gtk3 -> requires gtk-sharp3, and only runs on linux
Eto.Gtk -> only requires Gtk+3 as it comes with its own copy of gtk-sharp. Gtk+3 has installers for all platforms.

Hope this helps, and thanks for your input!

@Krakean @cwensley could you please tell me where are the .NET Core demos you mention?

@pablocar80 open up src/Eto.sln and look at the test/Eto.Test.Gtk project. It is using .NET Core.

Currently the Eto.Gtk platform is the only one that supports .NET Core. I plan to add support for .NET Core for Eto.Wpf and Eto.WinForms when .NET Core 3.0 is released and also Eto.Mac64 around the same time.

Was this page helpful?
0 / 5 - 0 ratings