使现有的C#Windows应用程序在Linux上运行

时间:2009-04-29 05:51:44

标签: c# windows linux mono

重复:Run .NET exe in linux

您好,

使用Visual Studio 2008和.Net framework 2.0制作的现有Windows窗体应用程序是否可以通过在Linux中使用较少/无代码更改进行重新编译来在Linux上运行?

由于

4 个答案:

答案 0 :(得分:4)

但是,根据您的申请,您的里程可能会有所不同。 no-nos包括依赖于COM和Win32调用以及P / Invokes的第三方库/ DLL。您可能还需要注意执行文件/目录连接的代码,因为当Windows使用“\”时,unix使用“/”作为目录分隔符。

答案 1 :(得分:1)

我建议您在Mono IDE中重新编译相同的代码,并进行可能需要的任何小的更改。我已经多次这样做了。

答案 2 :(得分:0)

您可以在此处获取一些信息:Run .NET exe in linux

答案 3 :(得分:0)

是的,你可以,最后我检查过,他们的DataGridView正在改进,它现在可以隐藏列,但是他们在dgv上的VirtualMode还没有工作。

我使用Mono主要用于Remoting的东西,DateTime类型现在在Mono 2.4中与Remoting兼容(yipee!)。之前(在1.9中),我必须将我的日期时间字段转换为字符串,以便可以从Remoting中间层传输到Remoting中间层,这在2.4中不再需要。

使用本指南编写便携式软件:http://mono-project.com/Guidelines:Application_Portability

一个例子:

  

要编写便携式软件,您必须这样做   确保你使用   System.IO.Path.DirectorySeparatorChar   (HTTP:/ monodoc / P:System.IO.Path.DirectorySeparatorChar)   必须连接时的字符   路径,甚至更好,使用   System.IO.Path.Combine   (HTTP:/ monodoc / M:System.IO.Path.Combine(字符串,字符串))   组合路径名的方法。