手持ちにMac(とVM上のLinux)しかない人がC#プログラム(練習問題レベル)をビルド検証する必要に迫られた際の覚え書きです。
Monoとは
.NET Framework互換環境をLinuxやMacOSなどに実現するオープンソースプロジェクト。
iOS/Androidでクロス開発を実現するXamarinやゲームエンジンのUnityでも利用されています。
インストール
下記URLからダウンロードしてインストールします。
MacOS,Linux,Windows版があります。
http://www.mono-project.com/download/
プログラムのビルド方法
こんなコードがあったとして、、
class TestClass
{
static void Main(string[] args)
{
System.Console.WriteLine(args.Length);
}
}
コマンドラインからmcsコマンドでビルドします。
$ mcs TestClass.cs
TestClass.exeが出力されます。
実行方法
monoコマンドの引数にビルドして出来たアセンブリを指定して実行します。
$ mono TestClass.exe 1 2 3
3
互換性など
基本となるクラスライブラリは互換性があるようです。
UIはWPFは駄目だけどWinformsならある程度サポートされておりそれなりに動きそう(?)
尤もUI部分はクラスを分離してプラットフォームに適合したツールキットを利用するのがポリシーの模様。Win32APIの呼び出しは当然×