自分向けのメモ。消しゴムのMonoじゃないです。念のため。
Monoってのは.NET Frameworkの互換フレームワークです。ちょっと古いけどこちらの記事が解りやすいです。
今回会社でMonoを使うことになった(というかほぼ完成してるやつを改修することになった)ものの、Monoなんてやったことないのでインストールから「Hello world」表示するまでやってみました。
といっても、公式サイトのやり方そのまんまだけど。
インストール
Ubuntuの場合は下記の手順でインストールします。私はUbuntu 16.04
にインストール。
1 | sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 3FA7E0328081BFF6A14DA29AA6A19B38D3D831EF |
インストール終わったらバージョン確認。
1 | mono --version |
4.0
は昨年リリースされたそうですが、Copyrightは2014まで(なんでだろう)現在4.4
でC#6
にも対応している模様。
Hello world
とりあえず、Hello world書く。
1 | using System; |
MonoTest
というプロジェクトで作成。WindowsでビルドしてWinSCPでUbuntuに転送。
以下Ubuntu側で実行。
1 | //monoコマンドで実行 |
動かないだろーなーと思ったら、動いた!
前述の記事によると…
C#についてもILについても標準化されていて、Monoの実装はこの標準に基づいている。その結果、マイクロソフト製C#コンパイラを使ってWindows上でビルドしたプログラムを、Linux上のMonoランタイムで実行したり、あるいはその逆も、全く問題ない。
ILも標準化されているらしい。すげー!
Ubuntu側でビルドするにはMonoTest.cs
をmcs
コマンドでビルドします。同じディレクトリにMonoTest.exe
が出来上がります。
1 | mcs MonoTest.cs |
今回やったのはこんだけ。やってないけどプロジェクトでビルドとかもできるんだろうね~。