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

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

以下、自分の感想文だから有用な情報はない。

mono/vb.net on windows

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

test.vbを下記のように作成。

test.vb

Module a
  Sub Main()
    System.Console.Write("Hello,mono")
  End Sub
End Module

コマンドプロンプトから、

> 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に持っていき、コマンドプロンプトから実行してみると

> test
Hello,mono

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

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

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

※ 2020/07/02 度重なるブログ移転・ブログシステムのアップデートにより崩れた記事を校正。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください