我可以使用.Net Core构建桌面应用程序(WPF,Windows窗体)吗?
我知道使用.net核心和.net框架构建Console App。 但是当我使用.net核心开发Console应用程序时,它将运行(Win,Mac,Linux) 这是真的吗?
答案 0 :(得分:8)
是的,.NET Core应用程序也可以在Mac和Linux上运行。取决于使用的特定于OS的API。由于Xamarin,Microsoft可能不会为.NET Core提供UI技术。
幸运的是社区创造了一些:你应该看看Avalonia,由Steven Kirk撰写: https://github.com/AvaloniaUI/Avalonia
编辑2018年12月6日:
实际上,Microsoft将在Windows上的.NET Core 3.0上支持WPF和WinForms。我在2017年12月没有知道这件事: - )
编辑2019年3月18日
https://asp.net-hacker.rocks/2019/02/11/dotnetcore3.html
答案 1 :(得分:7)
.NET CORE 3将支持Windows(WPF,winforms)开发,仅在Windows上,请注意,目前尚未发布(发布时)。
Mono + Gtk#应该支持Linux,Mac和Windows。
无论哪种方式,如果您真的想编写跨平台的窗口,请考虑公开一个Web Api并使用electronjs编写Windows客户端
答案 2 :(得分:2)
我可以使用.Net Core构建桌面应用程序(WPF,Windows窗体)吗?
是的,可以在即将发布的Dotnet Core 3.0中构建Winforms和WPF应用程序
查看 this 博客文章。 您也可以预先运行可移植性分析器。
2019年4月17日更新:
现在,我们可以在Visual Studio 2019上开始使用 DotNet Core 3.0 Preview 2 。
与桌面应用相关的一些关键功能-
C#8
默认可执行文件
使用WPF和Windows窗体的Windows桌面应用程序
用于Windows桌面的MSIX部署
Windows Native Interop
有关将桌面应用程序移植到Dotnet Core 3.0的信息,请参见 here
答案 3 :(得分:0)
JIC,可以使用Mono / Xamarin构建桌面应用程序。这是针对Xamarin.Mac(macOS)和Xamarin.WPF(Windows)+ Android的Xamarin.Forms应用示例。
https://github.com/maxim-saplin/CrossPlatformDiskTest
目前看来,Xamarin.Forms是开始使用XAML和C#/。NET为非Windows平台构建GUI应用程序的最简单方法。除了Android / iOS,还支持多种桌面平台:macOS(通过Xamarin.Mac,GTK),Windows(通过WPF,UWP,GTK),Linux(通过GTK)。