[Mono-osx] C#

Edward Ned Harvey (mono) edward.harvey.mono at clevertrove.com
Wed Mar 18 22:33:55 UTC 2015

> From: mono-osx-bounces at lists.ximian.com [mailto:mono-osx-
> bounces at lists.ximian.com] On Behalf Of David Jeske
> Download xamarin studio.. It should get you started developing C# on the
> Mac

Something you probably don't know, if you're asking the question "How do I do C# on the mac," is that there's more than one version of monodevelop/xamarin studio, and there's more than one version of monomac/xammac.

For free, go to http://www.monodevelop.com and when you install, you'll be surprised to see that it's called Xamarin Studio.  This is *highly* confusing, when you consider the fact that the free version of monodevelop is not available for download on the Xamarin Studio website.  With free MD, you'll be able to do lots of good useful stuff, including creating monomac projects.  Go to the Xamarin site, and browse the "howto" videos of how to create a monomac / xammac project.

Something that I *totally* don't understand, is that MD / XS is such a powerful awesome IDE, and so much of its functionality is disabled by default.  I *strongly* encourage you to browse through its preferences, and look for cool features that are disabled - For example, Code Folding, and Source Analysis - "Source Analysis" in MD / XS is very similar to Resharper for VS.  Mind blowing that it's turned off by default, while Jetbrains sells that functionality to VS users for $250/usr/yr.

If you pay for xamarin studio, you will get the Xamarin.Mac plugin.  This very similar to monomac, but adds a bunch more functionality.  I am unclear if Xamarin.Mac extension is the only difference between monodevelop and paid-for-xamarin-studio.  You *might* have to uninstall the version of Xamarin Studio that was distributed as monodevelop, and then install the paid version of Xamarin Studio.  I'm really not sure - I started paying for Xamarin Studio (Xamarin.Mac) a long time ago.

Also, you should be aware of the existence of NuGet.  In XS / MD, you just click a project and add packages (add references) from NuGet.  Simple and awesome.

If you want code to work cross-platform, you need to test regularly, because there are differences between .NET and Mono.  Start by reviewing the Mono Compatibility Guide.  Most important, test frequently on multiple platforms.

More information about the Mono-osx mailing list