如何使用.Net Core开发跨平台的gui应用程序

Asp.Net核心应用程序运行在Windows,Linux和MacOS上,但它是Web应用程序。

.Net核心应用程序是一个类库。

如何在.net framework或.net core上开发跨平台的gui应用程序?

如果我们将.NET Core作为一个平台(用于控制台/ Web应用程序跨平台)和代码共享的启动器(通过标准库和平台标准),那么您已经可以使用.NET Core创build核心库, NuGet包,并在面向多个UI平台的项目中使用它们。

对于所有UI平台是否会有一个统一的UI框架尚未确定,但我个人不喜欢这个想法,以前所有在这个领域的尝试都不能取悦我。

参考 .NET相关跨平台GUI框架的总结

您可以在.NET Framework中使用Eto.Forms或Gtk#,然后在其他平台上使用Mono运行。

https://github.com/picoe/Eto

http://www.mono-project.com/docs/gui/gtksharp/installer-for-net-framework/

.NET Core还不能开发跨平台UI应用程序。 基于.NET Core的唯一UI框架是基于System.Runtime的WindowsRT / Win8 / Win8.1 / Win10(包括基于IoT的Windows 10)应用程序。

话虽如此,你只能创build基于.NET Core的Windows UWP / UAP应用程序,尽pipe它与.NET Core RTM中使用的版本不完全相同。

您可以使用.Net Core绑定的Libui(用于Unix,OSX和Windows的本地UI库)。

noliar / DevZH.UI:简单的.Net核心绑定

对于

andlabs / libui:用于C的便携式GUI库

你也可以尝试https://github.com/kexplo/electron-edge

使用Electron Edge,您可以通过在Node.js文件和Electron项目的相同位置编写/调用C#代码,在一个进程中与Node.js一起运行.Net内核。