繁体   English   中英

如何为 .NET Core 在 Linux 上编译 Windows.Forms 应用程序?

[英]How do I compile a Windows.Forms application on Linux for .NET Core?

我可以使用 mono mcs 在 Linux 上编译我的应用程序,但结果是 .NET Framework 4.5 的可执行文件。 它在 windows 上运行,但我无法使用任何更新的功能。

我试图找出如何用 .NET SDK 5.0 编译它,但在 Linux 上它似乎不包括 Windows Forms。

有没有办法在至少使用 .NET Core 2.0 的 Linux 上编译 forms 应用程序?

带有 .NET Core 的 Linux 不支持 Windows 窗体(和 WPF),而且可能永远不会支持。 Winforms 在 mono 上运行,但它基于 .NET Framework,而不是 .NET Core。 原因主要是因为 Windows Forms 的内部实现实际上是 Windows GDI 上的一个抽象层,因此需要完全重写 linux 端口。

.NET 6.0 将带来一个名为maui的新 GUI 框架,旨在为 .NET 带来真正的跨平台体验。 希望这是使 .NET 真正跨平台的最后一步,因为它实际上是在 20 年前设计的。 您已经可以尝试了,因为 .NET 6.0 的预发布版本已经准备好下载(转到https://aka.ms/dotnet-download )。

您可以使用 .Net Core 开发 WinForms 和 WPF UI 应用程序。 但是这些UI应用只能在Windows上运行,只有.net核心开发的非UI应用才是真正跨平台的,可以在Windows、Linux和Mac OS上运行。

MAUI 框架尚未由微软正式发布,它允许 UI 应用程序跨平台。

毛伊岛

C# windows forms 使用 .net,但 .net 仅适用于 windows。使用其他 GUI 工具:

Tkinter Java C++, C

Linux 支持

如果您从 Windows 窗体切换到 UWP,您可以使用单个 Visual Studio 解决方案定位 Windows、macOS 和 Linux 平台(以及移动设备)。 您只需要使用 Uno 平台https://platform.uno/

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM