こんにちは、SI部の藤沢です。
今回は、LinuxでC#プログラミングを行うためのMonoの導入を行います。

構成

  • Ubuntu 14.04 LTS(仮想イメージ)
  • Mono
  • MonoDevelop

今回は、Ubuntuを使用してC#の実行環境を構築していきます。

Ubuntuのインストール

Ubuntuのサイトに仮想マシン用のファイルがあるため、これを使用します。
VirtualBoxをインストールし、ダウンロードした仮想イメージ(Ubuntu 14.04 LTS)を展開し仮想マシンの登録を行います。
Ubuntuのサイト通りに設定します。
VirtualBoxを起動し、[新規]をクリックします。仮想マシン作成ウィザードが開くので、画面の指示に従って入力していきます。
OSタイプは「Ubuntu」を選択します。
VirtualBox
メモリーは1024MBにします。
VirtualBox
ハードドライブでは、「すでにある仮想ハードドライブファイルを使用する」を選択し、展開したファイルを選択します。
VirtualBox
仮想マシンの起動を行います。はじめに起動する場合はUbuntuの初期設定がありますが、画面の支持に従い設定します。
Linuxが起動出来ましたので、以降はLinuxで操作を行っていきます。

Monoのインストール

Monoとは、Ecma標準に準じた.NET Framework互換の環境を実現するためのオープンソースのソフトウェア(wikipediaより)でLinuxでC#の実行を行うためのソフトウェアになります。
Monoのサイトに記述してあるように、ターミナル等を使用し下記コマンドを実行してインストールします。

$ sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 3FA7E0328081BFF6A14DA29AA6A19B38D3D831EF
$ echo "deb http://download.mono-project.com/repo/debian wheezy main" | sudo tee /etc/apt/sources.list.d/mono-xamarin.list
$ sudo apt-get update
$ sudo apt-get install mono-complete

インストールが行えたと思いますので、インストールされたMonoの確認をします。

$ mono --version
Mono JIT compiler version 4.0.4 (Stable 4.0.4.1/5ab4c0d Tue Aug 25 23:11:51 UTC 2015)
Copyright (C) 2002-2014 Novell, Inc, Xamarin Inc and Contributors. www.mono-project.com
        TLS:           __thread
        SIGSEGV:       altstack
        Notifications: epoll
        Architecture:  amd64
        Disabled:      none
        Misc:          softdebug
        LLVM:          supported, not enabled.
        GC:            sgen

この時点で、C#のコンパイル・実行が行えます。
簡単なソースでC#の実行を行います。

using System;
namespace HelloWorld
{
  class HelloWorld
  {
    static void Main()
    {
      Console.WriteLine("Hello World!");
      Console.WriteLine("Press any key to exit.");
      Console.ReadKey();
    }
  }
}

作成したソースファイルのあるディレクトリで下記コマンドを実行してコンパイルします。
コンパイルすると、HelloWorld.exeが作成されますので、実行します。

$ mcs HelloWorld.cs
$ mono HelloWorld.exe
Hello World!
Press any key to exit.

実行結果

簡単なソースはVIエディタ等でも問題無いですが、クラスを作成したりデバッグを行うには開発環境が必要になるかと思います。今回は、MonoDevelopをインストールし同じようなプログラムを作成したいと思います。

MonoDevelopのインストール

MonoDevelopは、Monoプラットフォーム上で動作するオープンソースの統合開発環境(wikipediaより)でC#などの統合開発環境になります。

$ sudo apt-get install mono-develop

インストールしたMonoDevelopを起動します。
ソリューション「+New」もしくは、「ファイル-新規-ソリューション」で新規作成が行えます。
先ほど作成したソースと同じものを作成したいと思いますので、「.Netのコンソールプロジェクト」を選択します。
必要な情報を入力し、ソリューションを作成します。
Program.csが表示されますので、先ほどと同様なソースに修正します。

MonoDevelop01
MonoDevelop02
MonoDevelop03
MonoDevelop04
MonoDevelop05

「実行-Start Debugging」もしくは[F5]を押下して実行します。

MonoDevelop06

さいごに

マイクロソフトが.NETのコアライブラリをLinux/MacOSでの正式サポートをするようになり、C#での開発も進んでいくと思われます。
今回はさわり部分を行いましたが、MonoDevelopではWindowsFormのようなフォームアプリケーションも作成が行えるため試してみてください。

最後までご高覧頂きまして有難うございます。