我在microsoft开发堆栈上有多年的开发经验,主要是visual studio 2012 / c#。但是现在,我需要在linux上开发app。虽然我知道c ++,但自从我真正触及它以来已有好几年了。我几乎没有问题。
关于我正在做什么的一些信息。 我的项目是关于网络渠道分析。客户端是廉价的工业linux盒子,很可能没有ui。我使用mono / c#来开发客户端。服务器将使用vs2012 c#进行windows开发。最有可能使用wpf作为ui。我打算在linux(客户端)和windows(服务器)之间共享网络/通信库。使用linux的主要问题是节省成本,因为客户端几乎是几千个单位。
谢谢。答案 0 :(得分:3)
Mono以PE(可执行文件)格式(Windows的本机文件格式)运行可执行文件。只要您的应用程序是纯MSIL,就没有必要“为Linux编译”。即使你通过p / invoke使用本机DLL,Mono和Wine也可以在Linux上运行Windows文件。
(本机Linux应用程序使用的a.out和ELF可执行格式没有存储.NET元数据的机制,PE格式被修改为支持.NET,因此这就是.NET Framework(不是Micro Framework)的实现无论平台如何使用)
答案 1 :(得分:3)
一开始要考虑的最重要的事情是,
回到你的问题,
由于Mono + C#比使用C / C ++更有效率,许多成功的Linux应用程序都是在Mono上开发的,例如Banshee和Tomboy。
答案 2 :(得分:0)
您可以毫无问题地使用Visual Studio,但例如,您无法使用WPF,而Windows窗体则可以。有关您可以使用的更多信息,请访问:http://www.mono-project.com/Compatibility
此外,还存在与VS集成的Mono工具:http://www.mono-project.com/GettingStartedWithMonoTools