LoginSignup
9
8

More than 5 years have passed since last update.

UbuntuServerに、Mono環境を構築する

Posted at

インストール

Monoは容量が大きいためパッケージは、必要なものだけインストールできるように細分化されています。(たぶん)
ストレージ容量に余裕があって、個別にインストールするのが面倒なら開発環境か、全部インストールで、セットアップを行うのが楽です。ただし、インストールされるパッケージの数が多いので時間は掛かります。
実行環境の構築では、必要なパッケージのみをインストールした方が良いと思います。

開発環境のインストール

https://launchpad.net/ubuntu/precise/+package/mono-devel
bash
$sudo aptitude install mono-devel

開発環境と全てのライブラリのインストール

https://launchpad.net/ubuntu/precise/+package/mono-complete
bash
$sudo aptitude install mono-complete

コンパイラのインストール

標準でインストールされるmono-cscコマンドでは、最新のC#の言語仕様で書かれたソースコードは、コンパイルできないようなので、mcsコマンドをインストールします。なお、過去コンパイラのバージョンごとに、コマンドが分かれていたが、今はどのコマンドでも内部的には同じ処理が呼ばれるようになったという情報を見たことがありますので気休めかも知れません。試しにバージョンをチェックしてみると同じバージョンが表示されるようです。
bash
$sudo aptitude install mono-mcs
$mcs --version
Mono C# compiler version 2.10.8.1

開発

コンパイル

デフォルトのターゲットは、exeになりますので、単純にソースコードをコンパイルすると拡張子が、exeのファイルが出来上がります。初めて見た時にはギョッとしますが、言語仕様的に正常な動作です。複数のファイルをコンパイルする際には、Makefileを利用すると便利です。
bash
$mcs HelloWorld.cs

実行

$mono HelloWorld.exe

デバック

行番号をもったスタックトレースを表示させる。

$mono --debug HelloWorld.exe

デバックログを出力させる。

monoが出力するログレベルを調整して問題を調査するのに利用します。
http://www.mono-project.com/docs/debug+profile/debug/
http://www.mono-project.com/docs/advanced/runtime/logging-runtime-events/
bash
$export MONO_OPTIONS=--trace=E:all
$export MONO_LOG_MASK=all
$export MONO_LOG_LEVEL=debug

9
8
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
9
8