我有多年开发微软开发栈的经验,主要是visual 2012/c#。但是现在,我需要在linux上开发应用程序。虽然我认识c++,但我已经多年没有真正接触到它了。我没什么问题。
一些关于我在做什么的信息。我的项目是关于网络频道的分析。客户端是廉价的工业linux盒,很可能没有ui。我使用mono/c#来开发客户端。服务器将是使用vs2012 c#开发的windows。很可能使用wpf作为ui。我计划在linux(客户端)和windows(服务器)之间共享网络/通信库。我使用linux的主要考虑是为了节省成本,因为客户端几乎是千台。
谢谢。
发布于 2013-08-28 05:44:01
Mono以Windows的原生文件格式PE (Portable )格式运行可执行文件。只要你的应用程序是一个纯MSIL,就不需要“为Linux编译”。即使您通过p/invoke使用本机DLL,Mono和Wine也一起在Linux上运行Windows文件。
(本机Linux应用程序使用的a.out和ELF可执行格式没有存储.NET元数据的机制,PE格式被修改为支持.NET,所以不管平台如何,.NET框架(而不是微框架)实现都使用这种格式)
发布于 2013-08-28 08:35:51
一开始最重要的事情是,
所以回到你的问题上,
由于Mono + C#比使用C/C++高效得多,许多成功的Linux应用程序都是在Mono上开发的,比如Banshee和Tomboy。
发布于 2013-08-28 04:35:33
可以使用Visual,但不能使用WPF,而Windows窗体是正常的。有关更多信息,请访问:http://www.mono-project.com/Compatibility
此外,还存在与VS:http://www.mono-project.com/GettingStartedWithMonoTools集成的Mono工具
https://stackoverflow.com/questions/18479483
复制相似问题