我可以使用.Net核心构建桌面应用程序(WPF、WinForms)吗

我可以使用.Net核心构建桌面应用程序(WPF、WinForms)吗,.net,.net-core,.net,.net Core,我可以使用.Net Core构建桌面应用程序(WPF、Windows窗体)吗 我知道控制台应用程序的构建同时使用.net核心和.net框架。 但当我使用.net内核开发控制台应用程序时,它将在(Win、Mac、Linux)上运行 是真的吗?是的,.NET核心应用程序也可以在Mac和Linux上运行。取决于使用的特定于操作系统的API。由于Xamarin,微软可能不会为.NETCore提供UI技术 幸运的是,社区创造了一些:你肯定应该看看史蒂文·柯克(Steven Kirk)写的《阿瓦隆尼亚》(A

我可以使用.Net Core构建桌面应用程序(WPF、Windows窗体)吗

我知道控制台应用程序的构建同时使用.net核心和.net框架。 但当我使用.net内核开发控制台应用程序时,它将在(Win、Mac、Linux)上运行
是真的吗?

是的,.NET核心应用程序也可以在Mac和Linux上运行。取决于使用的特定于操作系统的API。由于Xamarin,微软可能不会为.NETCore提供UI技术

幸运的是,社区创造了一些:你肯定应该看看史蒂文·柯克(Steven Kirk)写的《阿瓦隆尼亚》(Avalonia):

编辑2018年12月6日:
实际上,微软将在Windows的.NETCore3.0上支持WPF和WinForms。早在2017年12月我就不知道了:-)

编辑2019年3月18日

我可以使用.Net Core构建桌面应用程序(WPF、Windows窗体)吗

是的,Winforms和WPF应用程序可以在即将推出的Dotnet Core 3.0中构建

查看博客文章。 您还可以提前运行便携性分析器

2019年4月17日更新:

现在我们可以开始在VisualStudio2019上使用

与桌面应用程序相关的一些关键功能-

  • C#8

  • 默认可执行文件

  • 使用WPF和Windows窗体的Windows桌面应用程序

  • Windows桌面的MSIX部署

  • Windows本机互操作

有关将桌面应用程序移植到Dotnet Core 3.0的信息,请参见,将仅在windows上支持windows(WPF、winforms)开发,注意目前尚未发布(发布时)

应支持Linux、Mac和Windows


无论哪种方式,如果你真的想编写跨平台的窗口,考虑使用WebAPI和使用“/P>< PJJIC”编写Windows客户端,可以使用Muno/XAMARIN构建桌面应用程序。下面是一个针对Xamarin.Mac(macOS)和Xamarin.WPF(Windows)+Android的Xamarin.Forms应用程序的示例


目前,似乎Xamarin.Forms是使用XAML和C#/.NET为非Windows平台构建GUI应用程序的最简单方法。除了Android/iOS,还支持多种桌面平台:macOS(通过Xamarin.Mac,GTK)、Windows(通过WPF,UWP,GTK)、Linux(通过GTK)。

看起来你在问两个问题,一个关于GUI应用,一个关于控制台应用的平台。不,你不能。如果在Visual Studio中选择
.NET Core
,则可以在console app/ASP.NET/Class Lib+测试中看到唯一可用的项目类型。True.NET Core是独立于平台的。如果您需要gui,请查看Xamarin。Microsoft即将推出的.NET Core 3.0将支持WF和WPF项目。在上一次Microsoft Build活动中,他们发布了有关.NET Core 3的新闻。“NET Core 3的亮点是对Windows桌面应用程序的支持,特别是Windows窗体、Windows演示文稿框架(WPF)和UWP XAML。”您可以了解更多信息。他们是否计划在未来版本的中添加对WPF的跨平台支持。Net Core?@Exerion我不知道,目前没有任何迹象表明这一点,我想如果社区表现出需求,那么这种情况可能会改变things@dbones如果MS正在使用跨平台客户端,为什么我要使用它?我不明白。这听起来像是一个人可以在Windows上编写WinForms,就像Win32 forms应用程序一样,它们“只在Linux上工作”。@johnny,不确定这里的混淆是什么,WPF/WinForms只在Windows上工作(这些框架目前在Linux/mac上不工作)。Electronjs是一个跨平台的UI框架,看看bitwarden(它在github上)刚刚(重新)使用HML5(画布)、JavaScript、CSS(引导)和Electron构建了我的WinForm应用程序,我很惊讶它到底有多棒。我在Windows、Linux(Ubuntu)和Mac(Mojave)上运行过它。Electron非常适合解决目前任何其他框架都无法解决的问题(Flatter不存在,dotnet core仍然不存在)。这个答案可能会让一些人感到困惑,因为它忽略了WPF和WinForms目前在.NET core上不可用(尽管.NET Core 3的发布预计将提供支持,计划在2019年的某个时候发布)。即使如此,WPF/WinForms也不会跨平台支持,即使是在Core上,也不支持各种(可能很明显)原因。您好@BrianLacy,这是Dez.2017年的事实。事实上,他们将在Windows上支持.NET Core 3.0上的WPF和WinForms。所以您是对的,如果您不看这个答案的日期,这将是令人困惑的:)的确如此。我的评论是为那些在当前查看此答案的人提供澄清,而不是那些在添加支持后查看此答案的人,也不是那些设法回到您的答案发布时的人:D