WPF应用程序能否在Linux或Mac上使用.Net Core 3运行?

86

微软宣布.NET Core 3将配备WPF和Windows Forms。那么我能使用.NET Core 3为Linux或Mac创建桌面应用程序吗?


根据他们的更改,他们声称已经为 .net core 包添加了可执行文件,因此看起来您可能能够在 Linux 上运行桌面应用程序,但就像任何新技术一样,我目前仍持保留态度,因为它只处于测试阶段。 - Dark Templar
不是,但类似的东西正在开发中,只不过不是微软的。https://github.com/AvaloniaUI/Avalonia - kenny
4个回答

60
不,他们已经明确表示这些功能仅适用于Windows。在.NET Core 3.0的讨论中,他们还澄清了他们不打算将这些功能在未来变成跨平台,因为整个概念是源自于Windows特定的功能。他们谈到了考虑一个全新的跨平台应用程序的想法,这并不容易。
来源: https://youtu.be/HNLZQeu05BY 更新
新宣布的.NET 5现在旨在避免所有这些混淆,不再称其为".NET Core"。
更新2
随着blazor客户端(于2020年5月发布),有一个正在进行中的使用webview的新实验性项目,用于跨平台应用程序。

Source: https://blog.stevensanderson.com/2019/11/01/exploring-lighter-alternatives-to-electron-for-hosting-a-blazor-desktop-app/


44
这非常令人困惑,因为dotnet core本来就是跨平台的,不是吗?如果它再次变成平台相关,那么走这条路还有什么意义呢?另外,与竞争对手(Java-Land)相比,您有什么想法? :-) - christianparpart
3
起初,我也认为 WPF 正变得跨平台。然而,尽管 .NET Core 最初主要是一个跨平台概念,但由于它是一次重塑,现在它的开发比 Framework 更加清晰明了。这种方法并没有真正将 .NET Core 带入那条路线。只是把原本依赖 Windows 的东西变得“更干净、更依赖于 Windows”。他们仍在努力实现跨平台桌面应用程序,需要时间,但仍然是朝着跨平台的方向发展。 - Neville Nazerane
9
.NET Core仍然是跨平台的,但Windows桌面支持不属于.NET Core的一部分,它被认为是一个使用.NET Core的附加SDK。我想迟早会有人分叉它并开始进行跨平台开发,需求很大,而像Avalonia这样的个人努力缺少人力(我在某个地方读到原始WPF工作涉及近1000名全职开发人员)。 - McGuireV10
2
@McGuireV10 是的。支持Windows桌面将被添加为一组“Windows桌面包”。它包含UWP、WPF和Windows表单。只能在Windows上运行。链接 - siyad

24

不能使用WPF或Winforms。但是你仍然可以在Linux上使用.NET Core开发桌面应用程序,使用其他库,例如GtkSharpAvalonia


1
实际上,这似乎使用的是标准而不是核心。但它们可以说是相同的。一些类似的选项将是Blazor的扩展。 - Neville Nazerane
非常有趣,我不知道。但是Avalonia是Visual Studio扩展,而Visual Studio不能在Linux上安装,对吗? - user11323942
1
只有可视化设计工具在 VS 扩展中。您可以在任何您喜欢的编辑器/IDE 中编写代码。 - Thiago Jedi
太酷了,是的,我刚在Linux Fedora上安装了Avalonia。按照标准模板,我已经成功地运行了第一个MVVM应用程序。 - user11323942

6

好的,名称本身就说明了Windows Presentation Foundation。所以它主要是基于Windows的。

但值得注意的是,新的UI框架.NET MAUI将与.NET 6一起发布,具有跨平台、单一代码库和单一项目结构。

目前在撰写本文时处于预览阶段,将于2021年11月发布。这是路线图


2
尽管它不是在Linux上的本地dotnet core,但使用wine可能会有帮助。
我在这里的讨论中找到了一个非常有用的评论,更多细节请看这里
换句话说,可以在wine下使用Windows版本的dotnet core。
我还没有尝试过,但从我提到的文章中可以看出,它看起来不错,可能是一个选项。

据我所见,如果您使用Wine,甚至不仅限于.NET Core,您还可以使用.NET Framework应用程序:https://appdb.winehq.org/objectManager.php?sClass=application&iId=2586 - pholpar

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接