如何在Linux中运行.Net Framework中的编译.exe

时间:2015-04-21 21:02:03

标签: c# linux

我正在使用VS2013和Xamarin工作室在C#中创建跨平台应用程序。我知道以前曾问过这些问题,但最近CoreCLR被宣布为开源并可在Linux上使用。我听说过这不适用于WinForms或WPF吗?

所以我的问题是:在Linux / Mac OS中运行.exe应用程序的方法是什么。我的意思是法律方式。没有购买Windows,Wine合法吗?我的应用程序是.net Framework 4.0+。 或者也许我可以用单声道开发我的解决方案并在Linux中编译它?

编辑: 另一个想法出现在我脑海中。也许有办法改变我的代码(fe:更改用户界面)然后Linux用户可以在没有任何其他软件的情况下打开它吗? 而且正如我之前所问,Wine是否合法运行我自己的应用程序?

EDIT2:

所以我自己尝试这样做,在ubuntu中运行winForms应用程序没有问题。安装mono和MonoDevelop IDE后,我能够运行winforms.exe应用程序。这个解决方案给了我另一个问题:

是否可以在不安装IDE的情况下运行它?

2 个答案:

答案 0 :(得分:3)

答案是:

sudo apt-get install mono-runtime
sudo apt-get install libmono-SYSTEM*
sudo apt-get update
mono application.exe

这将运行我的应用程序。可能如果其他人获得了除winforms之外的其他东西,可能还需要其他软件包。

答案 1 :(得分:1)

  

我知道以前曾问过这些问题,但最近CoreCLR是   宣布为开源并在Linux上提供。我听到了什么   不适用于WinForms或WPF

你是对的,在.Net Core CLR中不支持Winforms和WPF。目前只提供Asp.net 5(MVC / WebAPI / SignalR)和Native应用程序支持。

  

在Linux / Mac OS中运行.exe应用程序有哪些方法。

我不确定你的意思是什么。 Linux和Mac OS都有编译器在这些平台上运行.Net应用程序。正如我上面所说,不支持win / wpf但是.Net Core支持Asp.net console application,你可以在家里试试。