tags:

views:

858

answers:

7

Hello,

How do I start using Mono in Linux as a beginner when I want to switch from Visual Studio?

Is there some easy way to install it like Visual Studio and get started? So far,with what I've seen,it looks complex to even get started.

Installing and configuring Mono in linux is a lot of work right?

or Is there some distro which I can directly install and get started with applications in Linux?

Thanks

+14  A: 

I recently started to dabble in Mono myself and have so far realized that the MonoProject has made huge advancements in this area. It's well worth it to investigate.

With that said, the easiest method is to get setup with a Linux distro that is Mono friendly such as Suse, or Ubuntu. Personally, I tried it using Ubuntu 8.10.

Once you've got your Linux distro setup properly download and install MonoDevelop. This is an open source IDE that's tightly integrated to work with the Mono platform. MonoDevelop was taken as a branch of SharpDevelop and designed to work with the Mono compiler from the ground up.

This is by far the easiest and fastest way to get setup with Mono. The MonoDevelop IDE is very similar to that of Visual C# Express even. It comes complete with Project/Solution management, GUI development using the GTK# framework, an integrated debugger and a host of other features you would expect in an IDE such as code-completion, line numbers, code-folding etc.

The folks at the MonoProject are on to something with this suite of tools.

Hope this helps you get started.

Mono Project Homepage

Mono Develop Homepage

Ralph
thanks.......15
jim
How is it to work with GTK# in MonoDevelop compared to WinForms in Visual Studio? Is the coding behind, event stuff, etc., kind of similar? or is a whole different world? (Like moving from WinForms to WPF or something...)
Svish
While GTK# is a completely different platform than WinForms you will find some similarities as well. GTK# has the concept of signals which are practically the same thing as event handlers in .net Also, where WinForms have a control hierachy, GTK# uses a Widget hierarchy...again very similar concepts. GTK# is meant to be a complete GUI solution so many WinForms controls are the same from radio buttons to window managers, etc. I would say that GTK# is much more similar to WinForms than WPF. Try it out and let us know what you think.
Ralph
+4  A: 

There are a few interesting books on Mono, although they're probably a little bit old. Still, probably it's worth to grab one and take a look in order to start up.

  1. Practical Mono
  2. Mono: A developer's notebook
  3. Cross-Platform .NET development
  4. Mono Kick-start

Then, I'd install latest Mono (2.4) on a Linux box (OpenSuse is the one they use, so it will always go smoothly for development, but we also use Ubuntu internally) and start playing around with the compiler, MonoDevelop (which is quite good since 2.0) and so on.

The only tough point will be writing GUI applications, although my team make extensively use of MWF on different Unix flavors. But everything else will go as you'd expect. I'm specially happy with how great remoting works, for instance.

If you're used to Linux then it will be much easier, otherwise I'd also recommend you getting used to it following some tutorial.

Remember tools such us NUnit and NAnt will be also available, so you can start writing your code on both Windows and Linux and testing and compiling on both platforms.

pablo
A copy of "Mono: A developers notebook" was all I needed to dive into mono development on Debian a few years ago. Suspect the book may be a bit out of date now though.
timday
It's worth noting that not one of these mono books has been updated since 2005.
hughdbrown
+2  A: 

For a very easy start with mono under linux u can download

  • a vmware image
  • a linux live distro

with everything included to start.

Peter
+1  A: 

If you are accustomed to using visual-studio, you can still develop in Visual Studio, and copy your binaries to Linux/OSX or whatever. Or even better, if you have a shared drive, just reconfigure your VS-Project output directory to the shared location.

There might be advantages to using the mono compiler, or monodevelop, but since you are getting started, the above is really the easiest thing to do. If you want to run on Linux, the mono installer is an excellent option for getting up and running in a hurry. Unfortunately, there's no installer available for the newest mono release, so you'll either need admin permission, or need to compile from source.

http://ftp.novell.com/pub/mono/archive/1.9.1/linux-installer/2/mono-1.9.1_2-installer.bin

The installer was discontinued for a reason (it often produced broken installs). Please use the packages that your distro provides to install Mono.
jpobst
A: 

Debian and Ubuntu, and probably all other children, have mono in the repository. So, setting up mono in Linux can be as easy as # aptitude install monodevelop

However I would suggest version 2 which requires using the 'sid' repository in Debian (don't know about Ubuntu). # vim /etc/apt/sources.list [ :%s/squeeze/sid/g ]

he_the_great
A: 

The simplest way I could find is to download the OpenSUSE VMWare Image on their site and just run it. You get all the tools you need :) Preconfigured.

Andrei Rinea
+2  A: 

With the just released Ubuntu 9.04 a very current Mono development environment is as close as:

apt-get install monodevelop

I used to agree with you that it was somewhat difficult to get going with Mono, but the latest version of Ubuntu has melted that barrier away. And the latest version of Monodevelop is an absolute joy to use.

Don't use Ubuntu? Then I would go with Peter's advice of using a VMWare image.

bouvard