Hello,
I want to switch over to Mono from .Net (plus Visual Studio to whatever IDE in Mono).Is this going to be really tough?
What are the issues I would face?
Thanks
Hello,
I want to switch over to Mono from .Net (plus Visual Studio to whatever IDE in Mono).Is this going to be really tough?
What are the issues I would face?
Thanks
I think you're making a confusion here.
Visual Studio is an IDE, while Mono is an implementation of the .net CLR.
I guess what you really want to do is switching over to SharpDevelop or another IDE.
As others have pointed out, I'm assuming that what you meant was moving from the .Net framework to Mono. With that said, the amount of difficulty you'll face depends a lot on what kind of code you are trying to move and what parts of the framework you use. For example, if your code is littered with P/Invoke calls, you're going to have a rough time. If it's straightforward .Net code you will probably have relatively smooth sailing.
You're going to want to spend some time with the Mono Migration Analyzer (MoMA). You'll run into things that aren't caught by the tool, but it will catch a lot of the basics and leave you free to tackle bigger things.
I believe Mono hasn't quite caught up with all the .Net 3.5 libraries and hence has either no or partial implementations of them. Mono will always lag a bit behind Microsoft, but it's a fantastic achievement and a brilliant piece of work.
have a look at the Mono Roadmap
It is probably as tough as switching from Windows to Linux. It is a different environment and switching will always involve a period when some things will feel slightly out of place. The same applies to the .Net -> Mono switch. The first and most obvious difference will be the IDE. As great as MonoDevelop is (or has gotten recently) it is not VS. It doesn't have as many features (most importantly no Windows Forms or ASP Designer) and the overall quality is probably not as high, but it certainly is enough to get you started. Also, we shouldn't forget about things that Mono has and .Net hasn't like the C# interactive compiler or freedom to get involved in the platform creation. All things considered switching to Mono will require a certain effort but it is well worth it.
Just to clarify, you can use visual-studio to compile in Windows, and run your apps in Linux. There's lots of chatter about this-or-that not being implemented in mono, but honestly I haven't found anything missing.
Now, if you want to debug in Linux (and eventually you'll need to), then MonoDevelop is a good option, but I've had trouble getting in running on RedHat, so it really depends on your target linux system.
Visual Studio is a way better IDE than MonoDevelop where it automates many things are make MD seem like just an Editor (some like that). You can also use VS and target Mono which is a great opion. With virtual OSes, it's pretty well supported option on any host OS support by Mono.
Mono is close, but always will be a little behind the .NET Framework. Mono also is has it's own APIs that are better than anything in core .NET. But basically .NET == Mono at the binary level sans some missing or extra APIs.