Dilara Albayrak
Dilara Albayrak

Reputation: 444

.net core cross platform desktop app

I'd like to develop a cross platform desktop app by using .net Core. The app needs to be executed on linux, mac os, and windows. For that purpose, should i create a console app and put below lines in settings xml?

<PropertyGroup>
   <RuntimeIdentifiers>win10-x64;osx.10.12-x64;debian.8-x64</RuntimeIdentifiers>
</PropertyGroup>

Will it be sufficient? If so, should i write all platforms and separate by comma e.g.

win7-x32;win10-x64;...

If it is not the answer, how can i generate cross platform desktop app with .net Core?

Upvotes: 13

Views: 19764

Answers (5)

MindingData
MindingData

Reputation: 12480

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 :

Upvotes: 18

Zachary Canann
Zachary Canann

Reputation: 1231

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

Upvotes: 14

TomJackson
TomJackson

Reputation: 21

You have many solutions for making a cross platform application with .NET Core:

  1. Electron.NET
  2. Avalonia
  3. ...

If you want detailed information about how to do that you should check a dedicated book who provide project samples for .NET Core 3 Here . With that you will find the most adapted UI for your app.

Upvotes: 2

faiaz000
faiaz000

Reputation: 39

You can try electron.js instead . At present its quite difficult to build a cross platform desktop application only with .NET Core

Upvotes: 2

Peter Klaesson
Peter Klaesson

Reputation: 41

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!

Upvotes: 4

Related Questions