Mono(モノ)は、GNOMEプロジェクト創設者のミゲル・デ・イカザが開発した、Ecma標準に準じた.NET Framework互換の環境を実現するためのオープンソースソフトウェア群、またそのプロジェクト名である。現在はノベルの主導で開発されている。
共通言語基盤 (CLI) の実装やC#のコンパイラなどが含まれる。
Monoはマルチプラットフォームであり、Linux、FreeBSD、UNIX、Mac OS X、Solaris、Windowsで動作する。
その他にも、特定プラットフォーム向けに特化したサブプロジェクトも存在する。 MonoTouchプロジェクトでは、iPhoneやiPad、iPod touchといったiOSでの動作をサポートしている。 またMonoTouchの技術を応用し、Mac OSXへのネイティブ対応を行うMonoMacプロジェクトも2010年に発表された。
将来的にMonoが、Androidアプリケーション用仮想マシン(VM)である"Dalvik"をサポートする事によって、.NET Frameworkアプリケーションを比較的シームレスにAndroid携帯端末上で動作させる事が出来る可能性がある。
sudo aptitude update && sudo aptitude install mono-devel mono-vbnc
以下の内容で、test.vbを作成する。
Module Test Sub Main() MsgBox("Hello!") End Sub End Module
コマンドプロンプトより、以下のように実行する。
"C:\Program Files\Mono-2.6.7\bin\vbnc" /nologo /codepage:65001 /target:exe /out:debug.exe test.vb
「debug.exe」が作成されるので、
debug.exe
を実行する。
シェルより、以下のように実行する。
vbnc -nologo -codepage:65001 -target:exe -out:debug.exe test.vb
「debug.exe」が作成されるので、
mono debug.exe
を実行する。
※Linuxで生成したdebug.exeを、WindowsXPに持っていき起動しても同じように動作する。逆もまたしかり。