.net core cross platform desktop app

1) Console apps in .NET core are already cross-platform.

2) For those working with a GUI, .NET core finally has a cross-platform GUI option officially supported by Microsoft called .NET MAUI

This builds on the same APIs as Xamarian Forms.

Official .NET MAUI Github Repo


If I understand your question correctly, it could be devided into two questions.

1) Howto create a cross platform .net core app

2) Howto create a cross platform .net core UI app

To answer the second (2) question: It's not possible to create cross platform apps using only .net core and microsoft libraries. What you need is a cross platform UI library with binding for all of your your target platforms. The first search result I get is Avalonia https://github.com/AvaloniaUI/Avalonia

I doubt it will be an easy task to get it working as all the alternatives seems to be experimental and/or beta. But you can certainly prove me wrong.

Good luck!


As the other answer alludes to, .NET Core itself is cross-platform, but it doesn't offer any GUI solution. You can run console/terminal applications, as well as web applications, but not desktop applications.

As of right now, there is no official Microsoft tech that solves a multi-platform GUI. The two that I know of are Avalonia and Eto.Forms. Both have their pros and cons, and both are kinda buggy. Not in the sense that it's unusable, but in the sense that it's evolving tech, don't expect them to blow your mind right off the bat.

Guides to get you started :

  • Avalonia - https://docs.avaloniaui.net/
  • Eto.Forms - https://dotnetcoretutorials.com/2018/03/19/cross-platform-winforms-kinda/