【问题标题】:Moving a WPF program to Linux [closed]将 WPF 程序移至 Linux [关闭]
【发布时间】:2018-09-09 11:48:25
【问题描述】:

我有一个 C# WPF 程序,我已经研究了一段时间,我需要迁移到 Linux。我知道 Moonlight 已经死了,Monodevelop 没有未来实现 WPF 功能的计划。有人对在 Linux 中重建我的程序的最轻松方式有任何建议吗?它是一个 DnD 字符生成器,​​它使用带有选项卡控件的 GUI 来分隔不同的部分。我只知道 C#,但如果这是最好的方法,我会学习另一种语言。

【问题讨论】:

标签: c# wpf


【解决方案1】:

.NET Framework 计划独立于平台,但从未实现。它变得太大而无法完全移植。

.NET Core 没有这个问题。与 .NET Framework 相比,它被缩减了。它既不支持 WPF 也不支持 Windows 窗体,但它确实支持类似的东西:UWP。 Wich 基本上是“添加了 App 环境的 WPF”。由于您的程序可能不需要扩展权限,因此 UWP 可能是要走的路。

编辑:使用 .NET Core 3.0,将再次添加 Windows 窗体支持。 .NET Framework 针对 WinForms Programms will need a conversion,但如果您从头开始,它应该可以工作。

否则,做跨平台任何事情的通用 GUI 是 Xamarian。但 Xamarian 应用程序通常从一开始就是这样设计的。

【讨论】:

  • 我不认为 uwp 或 xamarin 在 Linux 上工作。
  • UWP 无法在 linux 上运行。
  • @Andy:考虑到 Xamarin 来自 Mono 并且被设计为跨平台运行,我想知道它是如何无法工作的:xamarin.com 它至少归结为“UI 做了多少”的问题你必须返工”。由于 .NET 实现(Framework、Mono、Core)之间的不一致,一些后端代码(随机数生成器、一些奇怪的类)必须更改的可能性很小。虽然 .NET 在使用 .NET Core 的跨平台方面取得了一些改进,但它仍然是一个棘手的领域。
  • 那不会仅限于单一开发吗?我以为那已经过时了。我很可能弄错了
  • @CamiloTerevinto:“谁在乎?为什么你必须在每个答案中复制粘贴那个无用的评论?”我不复制和粘贴。我写它。每一个。单身的。时间。这对提问的人来说很重要,因为他想知道跨平台在 .NET 中实际上有多容易。我认为让一个人为坏消息做好准备是个好主意。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2010-10-17
  • 1970-01-01
  • 1970-01-01
  • 2013-03-19
  • 1970-01-01
  • 2013-07-05
  • 1970-01-01
相关资源
最近更新 更多