Linux上的MonoDevelop for .NET应用程序

Dai*_*ail 4 .net c# linux mono

我需要开发C#应用程序,但是我使用Linux(ubuntu),我找到了MonoDevelop,但我不明白我是否可以从Linux编写.NET应用程序以在Windows上使用,因此Linux上的开发和Windows上的执行.他们兼容吗?

在Mono网站上我发现:

Mono是一个软件平台,旨在让开发人员轻松创建跨平台应用程序.

这是什么意思?我可以在可以在.NET框架安装的任何地方运行的Linux c#应用程序上编写吗?

谢谢你的澄清

Rob*_*ani 6

您从MonoDevelop或其他任何地方编译的任何C#代码都可以在任何具有Mono或.NET Framework的平台上运行.只要linux系统安装了Mono,它就可以运行任何已编译的C#应用​​程序,包括从Windows机器复制的.exe.

这样做的原因是,当您编译C#应用程序时,它不会被编译为本机系统代码,而是被编译为CIL.当您运行该程序时,它会自动JIT编译您正在运行的系统的代码,保留原始可执行文件.Windows上的.NET Framework和其他所有内容上的Mono都可以读取和编译CIL字节码.

有一点要记住,Mono没有可用的整个.NET Framework堆栈.几乎所有的BCL都是完整的,但像Mono这样的库不能用于WPF.Mono建议您使用GTK#作为GUI.


Ode*_*ded 5

是的,您可以使用mono创建可在Linux,Windows和Mac上运行的.NET应用程序。

单声道是

它是Microsoft .Net Framework的开源实现,基于C#的ECMA标准和公共语言运行时。

这意味着只要您不编写平台特定的代码,就可以在.NET可以运行的所有平台上运行它。(所以,而不将路径的使用\/使用Path.Combine,而是作为硬编码换行符\n使用Environment.NewLine和这样)。