为Windows编写的桌面应用程序可以在Linux上运行吗?

时间:2008-12-22 17:02:56

标签: c# linux

为Windows平台设计的桌面应用程序(例如,使用MS Visual Studio)是否也可以在Linux平台上运行?如果是这样,请提供一些建议,说明应该采取哪些措施来做好准备。

11 个答案:

答案 0 :(得分:25)

鉴于你的标签,我认为它是一个.NET应用程序。有了这个假设,你应该看看Mono project。您的应用可以无变化地运行; 可能经过微小的改动后运行;它可能从根本上需要一些尚未在Mono中实现的.NET。

答案 1 :(得分:7)

巩固并扩展一些上述答案......

如果您对所使用的“库”类非常小心,它可以在Mono下运行。

如果失败,下一个最简单的选择,WiNE可能允许您直接在Linux上运行应用程序。

如果所有其他方法都失败了,则始终可以创建虚拟机(使用VirtualBox或类似的东西)并在Linux计算机上执行完整的Windows安装以运行您的软件。

答案 2 :(得分:7)

如果您打算使用Mono,请检查MoMA。它是一个可以帮助您识别兼容性问题的工具。

答案 3 :(得分:5)

单声道可以在这里查看http://www.mono-project.com/Main_Page

答案 4 :(得分:5)

它可能适用于wine。但并非所有应用程序都受支持。

答案 5 :(得分:2)

最简单的方法是使用GTK#控件独占编写应用程序。

另外,请确保使用Windows上的Mono编译和运行代码,以确保不使用Mono运行时不支持或尚未复制所有功能的任何函数或库。

答案 6 :(得分:2)

你也可以使用trolltech的Qt。

答案 7 :(得分:1)

如果使用.net构建它,它可以使用mono运行。还有其他可能性,但我们需要更多细节。 UI,库,线程,其他东西。

答案 8 :(得分:1)

您可以使用Mono运行,但是当您进入Winforms时会出现一些兼容性问题。如果你正在使用WPF,那么我认为Mono还没有足够的支持来尝试这个。最好的方法,虽然可能不是已编码项目的选项,但是使用GTK,Mono非常支持它,并且可以在Windows和Linux中运行。

答案 9 :(得分:1)

要添加到答案堆中的另一个跨平台工具包是wxWidgets

答案 10 :(得分:0)

如果您在平台/语言方面有足够的灵活性,您可以选择不具备特定于.Net的许多选项。

  • Java(我会说最简单的选择和最成熟的平台,因为它拥有庞大的用户群和可用的书籍和文档数量)
  • 的Python / Tkinter的
  • Ruby(有许多GUI工具包)