特集Linuxで動く.NET環境「Mono 1.0」の実力(前編) |
|
|
Monoに含まれる機能
理屈はさておき、実際にMonoで何ができるかを早く知りたくてうずうずしている読者も多いだろう。まずは、Monoに含まれている主要な機能を以下に示す。
- C#コンパイラ
- ECMA準拠の実行環境(ランタイム・エンジン)
- Microsoft .NET Framework互換のクラス・ライブラリ(ADO.NETとASP.NETを含む)
- gtk+とGNOMEを使用してGUIアプリケーションを開発するライブラリ「gtk#」
- アプリケーションへのランタイムの埋め込み
- IDE、デバッガ、ドキュメントのブラウザ
また、.NET Frameworkにあるdisco、xsd、wsdl、ilasmといったツールに相当するものも含まれる。そのほか、確認し切れなかったが、クラス・ライブラリとしてはMozilla名前空間としてWebコンテンツのレンダリングを行うGeckoの名を冠したクラスや、Novell名前空間にLDAPの名を冠したクラスなども見られる。整理されたドキュメントが見付からず、全容は把握しきれないが、ほかにもいろいろなソフトウェアが含まれているらしい。
Mono 1.0.1のインストール
次に、実際にMonoを利用する手順について説明しよう(以降、Linuxの基礎的な知識が必要となる)。
Mono 1.0.1が対応するOSは多い。例えば、Mono Projectのダウンロードページを見ると、Mono 1.0.1としてダウンロード可能なプラットフォームの種類として以下のものがリストされている。
- Red Hat 9.0/x86
- Fedora Core 1/x86
- Fedora Core 2/x86
- SUSE LINUX Enterprise Server 8 for x86
- SUSE LINUX 9.0
- SUSE LINUX 9.1
- Windows 2000以上
- Mac OS X
このうち、「Windows 2000以上」と「Mac OS X」を除くすべてがLinuxとなる。また、上記に加えて、ソース・コードのダウンロードも可能となっていて、自分でMonoをmake(=コンパイル)したり必要な修正を加えたりできる技術力があれば、ほかのOS上でもMono 1.0.1を動作させられる可能性があるだろう。
さて、この中のどれを使えばよいのだろうか。Mono ProjectのスポンサーがNovellであることから考えると、Novellが提供するSUSE LINUXを使うのが最も問題がなさそうに思える。しかし、筆者が個人的にSUSE Linux 9.1 PersonalとFedora Core 2を試してみたところ、Fedora Core 2の方がより少ない手間でインストールを完了できた(これはあくまで筆者の個人的な体験にすぎず、確定した結論ではないことをあらかじめお断りしておく)。また、ダウンロード・ページ上でも、SUSE LINUXよりもRed Hat系のRed HatやFedora Coreをリストの上の方に書いていることから、Fedora Core 2の方が(SUSE LINUXよりも)好ましいと判断して、ここではこれを使ってみる。
Fedora Core 2自体のインストールに関しては、本筋と外れるため、ここでは特に説明を行わない。ただし、すでにWindowsがインストールされたPCに、Fedora Core 2や、SUSE LINUX 9.1など、Linux カーネル2.6を使用しているディストリビューションをインストールする場合、インストール後にWindowsが起動できなくなる問題が発生するケースがあることが判明している。また、そのほかにSUSE LINUX 9.1のインストールときに不可解な現象にも遭遇しているので、インストール前に必要なファイルをバックアップしておくとことをお勧めする。少なくとも、Windowsを空きパーティションに入れるときのような気軽な気持ちでは入れない方がよいだろう。
Fedora Core 2のインストール時には、それに含まれるパッケージと呼ばれるソフトウェアの単位の中で、どのパッケージをインストールかを決めなければならない。どれが必須であるか明確ではなかったので、「インストールの種類」に「カスタム」を選び、パッケージ・グループの選択で「すべて」を選んで試した。なお、ASP.NETを試すためには、Webサーバへのアクセスが発生するために、ファイアウォールは停止させるか、必要なポート(80番、8080番)を開いておく必要がある。
Fedora Core 2のインストールが完了したら、次にMono 1.0.1をインストールする。といっても、自動アップデート・システムによってインストールできるので、makeであるとか、./configureといった呪文は必要とされない(makeや./configureとは、ソース・ファイルで配布されているプログラムをインストールするためのLinuxのコマンドである)。
作業を始めるに当たっては、rootでログインしておこう。
そして、自動アップデート・システムの設定ファイル「/etc/yum.conf」に以下の3行を書き加える(yumはFodora Coreで採用されている自動アップデート・ツールで、yum.confはその設定ファイルである。ここでは、yumに対してMonoの自動アップデートの設定を行っている)。
|
|
Monoをインストールするために「/etc/yum.conf」に追加する設定 |
ここからは、システム・ツールのGNOME端末を開いて、コマンドラインにより作業する。GNOME端末が開いたら、以下の行を入力し、リターン・キーを押す。
yum install mono-complete
これで、Monoの基本的なソフトウェアがダウンロードされ、一通りインストールされる。Fedora Core 2にインストールされているほかのソフトウェア(Monoと依存関係にないソフトウェアも含めて)のアップデートも自動的に読み取られてインストールされるので、時間がかかるかもしれない。また、1回だけでは必要なソフトウェアのインストールが完了しないこともあるようで、1回だけでなく、2回実行しておくと安全だろう。
もう1つ、ASP.NETを試すために必要なXSPというアプリケーションがある。これはMono Projectで開発されたC#で記述されているWebサーバである。Linux標準のWebサーバであるApache上でASP.NETを実行させるプラグインもあるが、それについては後で述べる。XSPの方が動かすためのハードルが格段に低いので、XSPもインストールしておこう。それには以下の行を入力し、リターン・キーを押す。
yum install xsp
以上で基本的なインストールは完了した。インストールされていることを確認するために、「monoコマンド」を実行してみよう。以下のように表示されれば、Monoの中核となるプログラム実行ツールであるmonoコマンドが確実にインストールされていることが分かる。
|
|
monoコマンドの実行によるMonoのインストール確認 | |
Monoが正しくインストールされていれば、monoコマンドが実行できる。オプションなしでmonoコマンドを実行した場合には、このようなパラメータの説明が表示される。 |
次に、まずはC#コンパイラとBASICコンパイラを動かしてみる。
INDEX | ||
[特集]Linuxで動く.NET環境「Mono 1.0」の実力(前編) | ||
1.WindowsとLinuxとを結ぶ「Mono」 | ||
2.Monoが生まれた背景 | ||
3.Monoの機能とインストール | ||
4.C#コンパイラとVB.NETコンパイラ | ||
[特集]Linuxで動く.NET環境「Mono 1.0」の実力(後編) | ||
1.バイナリの互換性を検証する | ||
2.環境間の相違と対策/Monoと.NET Frameworkとの速度比較 | ||
3.XSPを用いたASP.NET | ||
4.Apacheを用いたASP.NET | ||
- 第2回 簡潔なコーディングのために (2017/7/26)
ラムダ式で記述できるメンバの増加、throw式、out変数、タプルなど、C# 7には以前よりもコードを簡潔に記述できるような機能が導入されている - 第1回 Visual Studio Codeデバッグの基礎知識 (2017/7/21)
Node.jsプログラムをデバッグしながら、Visual Studio Codeに統合されているデバッグ機能の基本の「キ」をマスターしよう - 第1回 明瞭なコーディングのために (2017/7/19)
C# 7で追加された新機能の中から、「数値リテラル構文の改善」と「ローカル関数」を紹介する。これらは分かりやすいコードを記述するのに使える - Presentation Translator (2017/7/18)
Presentation TranslatorはPowerPoint用のアドイン。プレゼンテーション時の字幕の付加や、多言語での質疑応答、スライドの翻訳を行える
|
|