オープンソースの.NET実装”mono”を使ってみた

週末に大学へ出張に行く為、ネットブック上のUbuntu上のVirtualBox上のWindowsXPに開発環境を作っておこうと思いVisualStudio.NETのインストーラと一日中闘っていた。なかなか上手く行かず、エラーダイアログが出るもMicrosoftへのコアダンプレポートばかり。バイナリインストーラなのでお手上げ状態だった。そんなこんなで、かねてから噂に聞いていたmonoを使ってみた。以下、自分の感想文だから有用な情報はない。

mono/vb.net on windows

monoの公式サイトに行って、Windowsバイナリを落としてくる。インストールウィザードに従い、フルインストール。スタートメニューに登録されるmono用のシェル(多分コンパイラ等にパスを通しただけのもの)を起動しワークディレクトリに移動する。

gvimのWindows Port版を起動して、test.vbを下記のように作成。

  • test.vb
module a
sub main()
system.console.write("hello,mono")
end sub
end module

シェルから、

D:\work\mono > vbnc /nologo /codepage:65001 test.vb && test

を実行するとビルドを行い、成功すると

hello,mono

が出力される。/codepage:65001はUTF-8なソースをコンパイルするオプション。省略すると、932(ShiftJIS)として解釈されるようだ。/target:winexeを指定すると、System.Windows.Forms.*も問題なく動いた。

今のところ.NET Framework 2.0ベースで、3.5や4.0に依存していない開発ばかりだから、入力補助さえ準備出来たら、VisualStudioは不要な気がする*1

System.Data.*でMS-Accessファイルを扱う事も出来た。GUIはGtk#が入ってたけど、特に指定しない限り、Windowsネイティブのコントロールを使うみたい。.NET Framework2.0相当の環境が入っている別のWindows上でいくつかテストしてみても、ちゃんと動いている。すごく楽しい。

mono/vb.net on ubuntu

$ sudo aptitude update
$ sudo aptitude mono-devel mono-vbnc

で入る。上記と同じくtest.vbを用意し、

$ vbnc /nologo /codepage:65001 test.vb && ./test.exe

でビルド&実行出来た。Ubuntu側でビルドしたtest.exeを恐る恐るWindowsXPに持っていき、コマンドプロンプトから実行してみると

Z:\ > test
hello,mono

おおっ。ちゃんと動いたー!

これは本当に楽しい。本格的に調べてみよう。

*1:.NETを使い始めた頃、VisualStudioのデザイナーを多用してしまいすごく手間取った事がある。以来、レイアウトにデザイナーを使う事はなくなった。

コメントを残す

メールアドレスが公開されることはありません。