
.NET Framework
.NET Framework 環境が wine 上で利用できるかどうか調べてみました。
まず Let's Wine(第8回)で紹介した winetricks で .NET Framework をインストールします。winetricks スクリプトを、次のように引数なしで実行すると、インストールするプログラムを選択する画面が表示されます。
$ sh winetricks

winetricks では .NET Framework 1.1 から 3.0 までインストール出来るようになっていますが、全部を正常にインストールできるかどうか怪しかったので、dotnet11 (1.1) からひとつずつインストールしていきました。
いろいろ試行錯誤をしましたが、結局、私の環境 (wine-1.1.38-1.fc12.i686) で正常にインストーラが終了したものは、dotnet11 と dotnet20 (2.0) の2つでした。ということで、.NET Framework 2.0 に対して簡単な動作確認をしてみます。
動作確認には Linux 上の mono でコンパイルしたバイトコードを mono と、wine 上の .NET Framework で動作させてみます。以下の C# のサンプル (hello.cs) を使用しました。
using System;
using System.Windows.Forms;
class HelloWorldApp {
public static void Main() {
MessageBox.Show("こんにちは、世界!", "mono");
}
}
この hello.cs を mono (2.4.3) で以下のようにコンパイルします。
$ gmcs hello.cs -pkg:dotnet
$ ls
hello.cs hello.exe
コンパイルされた hello.exe を mono で実行すると以下のようになります。
$ mono hello.exe

同様に .NET Framework 2.0 がインストールされている wine で実行した結果です。
$ wine hello.exe

参考サイト
[1] Hello worldプログラムの一覧 - Wikipedia
[2] Mono Basics - Mono