.netmono

The limitation of Mono runtime


My question is similar to this one and this one, but there is a slight difference. So that's why I am asking it here.

I have a shiny .Net 3.5 Windows Service ( with NHibernate, LINQ, lambda expression) etc, running on Windows. Now I plan to port my app to Linux, so I am thinking about Mono.

Can I just compile my .net app in Windows, and copy it to a Linux machine with .Net ( mono version) installed, and expect it to run smoothly? If not, is there anything I should do?

Any answers or pointers are welcome.


Solution

  • Start by using the MoMA tool

    The Mono Migration Analyzer (MoMA) tool helps you identify issues you may have when porting your .Net application to Mono. It helps pinpoint platform specific calls (P/Invoke) and areas that are not yet supported by the Mono project. While MoMA can help show potential issues, there are many complex factors that cannot be covered by a simple tool. MoMA may fail to point out areas that will cause problems, and may point out areas which will not actually be an issue

    From Personal point: All C# 3.0 feature are supported well, I had no problem with LINQ (To Objects, don't know about LINQ to SQL or to XML) and NHiberinate also works well (although I didn't end up using in)