Mono Basics

After you get Mono installed, it’s probably a good idea to run a quick Hello World program to make sure everything is set up properly. That way you’ll know that your Mono is working before you try writing or running a more complex application.

Console Hello World

To test the most basic functionality available, copy the following code into a file called hello.cs.

using System;
 
public class HelloWorld
{
    static public void Main ()
    {
        Console.WriteLine ("Hello Mono World");
    }
}

To compile, use mcs:

mcs hello.cs

The compiler will create “hello.exe”, which you can run using:

mono hello.exe

The program should run and output:

Hello Mono World

Winforms Hello World

The following program tests writing a Winforms application.

using System;
using System.Windows.Forms;

public class HelloWorld : Form
{
    static public void Main ()
    {
        Application.Run (new HelloWorld ());
    }

    public HelloWorld ()
    {
        Text = "Hello Mono World";
    }
}

To compile, use mcs with the -pkg option to tell the compiler to pull in the Winforms libraries:

mcs hello.cs -pkg:dotnet

The compiler will create “hello.exe”, which you can run using:

mono hello.exe

NOTE: on Mac OS X you’ll have to wait around a minute the very first time you run this command.

ASP.Net Hello World

Create a text file with the name hello.aspx and the content:

<%@ Page Language="C#" %>
<html>
<head>
   <title>Sample Calendar</title>
</head>
<asp:calendar showtitle="true" runat="server">
</asp:calendar>

Then run the xsp4 command from that directory:

xsp4

Use a web browser to contact http://localhost:9000/hello.aspx

Gtk# Hello World

The following program tests writing a Gtk# application.

using Gtk;
using System;

class Hello
{
    static void Main ()
    {
        Application.Init ();

        Window window = new Window ("Hello Mono World");
        window.Show ();

        Application.Run ();
    }
}

To compile, use mcs with the -pkg option to tell the compiler to pull in the Gtk# libraries (note that Gtk# must be installed on your system for this to work):

mcs hello.cs -pkg:gtk-sharp-2.0

The compiler will create “hello.exe”, which you can run using:

mono hello.exe