mono関連の記事のまとめページ。
monoとは
monoは、Microsoft社が開発したアプリケーションの開発及び実行環境である .NET Framework の互換環境で、現在はNovelが主導している。
.NET Framework 自体はWindows XP以降のWindowsに対応しているが、monoはそれに加えて、Linux, FreeBSD, Mac OS X などで動作する。
互換性は?
全般的には、Windows上のVisual Studioでビルドした実行モジュール(EXEファイル)をそのまま実行開始できる程度の互換性。
互換性が無い部分では例外等が発生する。
CLS準拠(CLSCompliantAttribute(true)が付いている)アセンブリであれば、そこそこ動作する。
また、FileSystemの違い等を最低限意識してコーディングしておく必要がある。
たとえば、string.Format(@"c:\abc\{0}", fileName) とかはダメ。 Path.Combine等で結合等の配慮は必要だ。
もちろんP/Invokeはだめ。
つまり、マルチ プラットフォームを意識したコーディングをする必要がある。
公式サイトの互換性ページは⇒ http://www.mono-project.com/Compatibility
Mono 2.8での、非互換のフレームワーク
- WPF
- EntityFramework
- WF
Mono 2.8での、制限付のフレームワーク
- WCF
WinForm等のGUIの互換性
微妙かも知れない。
簡易なWinFormのプログラムをVisualStudio上で作成し、DebianのGNOME上で動作させた時の再現性や速度面は「一応動く」という感じで快適というわけにはいかない。
ただし、これは仮想マシン上で行ったテストなので実マシンでは異なるかもしれない。
WPFの互換性
WPFについては現在のところ対応する予定が無いようだ。
ASP.NETの互換性
Apache2とmod_monoで動作させることが出来る。
Mono 2.4になって、かなり互換性が取れてきて安定的に動くようになってきた。
既存プログラムの互換性を確認する方法は?
MoMA(Mono Migration Analyzer)と呼ばれるプログラムが公開されています。
既存プログラム(アセンブリ)を指定して、mono上での動作可能性をレポートしてくれます。
MoMAは、.NET Framework 2.0以降か、Mono 1.2以降で動作する。
mono公式サイト
monoってなに?という方は → 「Mono (ソフトウェア) - Wikipedia」
"Mono" の最新のエントリー
- Mono 2.10.5 に上げてみた [11年09月10日]
- monoプロジェクトがXamarinとして独立 [11年05月22日]
- Mono 2.8 リリース (C# 4.0対応) [10年10月08日]
- Mono Tools for Visual Studio Preview版 [10年04月04日]
- Mono Tools for Visual Studio Preview版 [09年06月13日]
- MySQLの準備 [09年05月04日]
- mono 2.4 で WinForm : 実行 [09年05月04日]
- mono 2.4 で WinForm :プロジェクトの作成 [09年05月02日]
- Debian 5.0 LennyにSambaを導入 [09年05月02日]
- mod_mono2をApache2に設定する [09年05月02日]
- Mono 2.4をDebian Lennyにインストール [09年05月01日]
- Mono 2.4でコンソールアプリを動かす [09年03月28日]
- Mono 2.4をDebain Etchにインストール [09年05月01日]
- Mono 2.0 と Debian [09年06月13日]
- Mono 1.2をアンインストール [09年06月13日]
- インストールされているMonoパッケージを確認するには [09年06月13日]
- Mono 2.0.1のバグ修正一覧 [09年06月13日]


Comments