C# – Differences in development between .NET and Mono

cmononet

I'm looking into Mono and .NET C# and we'll be needing to run the code on Linux Servers in the future when the project is developed. At this point I've been looking at ASP.NET MVC and Mono.

I run an Ubuntu distro and want to do development for a web application, some of the other developers use Windows and run other .NET items with Visual Studio.

What does Mono not provide that Visual Studio does?

If running this on Linux later shouldn't we use MonoDevelop?

Are there some third party tools or add-ins that might be an issue with Mono later?

Best Answer

What does Mono not provide that Visual Studio does?
MonoDevelop is presumably what you mean here. MonoDevelop offers cross platform development on Linux, Mac OS X, Windows based on GTK. However it is not as polished as Visual Studio for obvious reasons - it's 3 people making it, not hundreds. It has some nice features, especially its source control plugin architecture. However as Visual Studio Express is free there aren't many advantages on Windows to using it.

It uses the same .csproj and .sln format as Visual Studio, however the XML docs format is different.

If running this on Linux later shouldn't we use MonoDevelop ?
As I mentioned above, the project formats are inter-operable.

Are there some third party tools or add-ins that might be an issue with Mono later?
Unlike Visual Studio, there aren't a huge wealth of add-ins for Monodevelop. The ones that you use in Monodevelop won't effect your .csproj files at all, as anything Visual Studio cannot read it generally ignores.


As people have said don't confuse Mono for MonoDevelop. MonoDevelop is an IDE for Mono that originally came from (forked) SharpDevelop.

Mono is the cross platform framework that 'apes' the Microsoft CLR and framework libraries.