2010-02-28

Let's Wine(第11回)

.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
 

0 件のコメント: