.net core cross platform desktop app

2019-07-28 07:09发布

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?

3条回答
Rolldiameter
2楼-- · 2019-07-28 07:46

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

查看更多
做自己的国王
3楼-- · 2019-07-28 07:49

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!

查看更多
Explosion°爆炸
4楼-- · 2019-07-28 08:05

As the other answer eludes 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 pro's 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 bad.

Guides to get you started :

查看更多
登录 后发表回答