我可以使用.Net Core构建桌面应用程序(WPF,WinForms)

时间:2017-12-14 07:21:45

标签: .net .net-core

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

我知道使用.net核心和.net框架构建Console App。 但是当我使用.net核心开发Console应用程序时,它将运行(Win,Mac,Linux) 这是真的吗?

4 个答案:

答案 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。

Windows only

无论哪种方式,如果您真的想编写跨平台的窗口,请考虑公开一个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)。