オルタナティブ・ブログ > mtaneda ブログ >

中小企業の開発者は会社で何をしているのか

Mac で mono 動かず・・・

»

最近は C# がお気に入りの言語です。

C#で作られた .NET Framework アプリケーションは、 mono を使えば様々なOSで利用可能です。

ということで、昨日作った「ゴルフ練習場送球シミュレータ」を Mac で動かしてみることにしました。
mono は、Mac Ports からインストールしました。

mono を実行するには、

% mono アプリケーション.exe

とするだけなのですが、Windows Form を使ったこのアプリケーションはいきなり例外で落ちてしまいました。
エラーメッセージをみると、

An exception was thrown by the type initializer for System.Drawing.GDIPlus ---> System.DllNotFoundException: gdiplus.dll

と言っているので、調べてみました。

どうやら、 ~/.mono/ というディレクトリを作って中に config というファイルを配置、
内容を以下のようにしなくてはならないようです。
(libgdiplus自体は、mono をMacPortsからインストールすると自動で入る)

<configuration>
        <dllmap dll="gdiplus.dll" target="/opt/local/lib/libgdiplus.dylib"/>
</configuration>

これでgdiplus関連のエラーはでなくなったのですが、別のエラーで起動しませんでした。

あまり時間もとれなかったので深く追求していませんが、
いずれは動かしたいですね。

 

An exception was thrown by the type initializer for System.Drawing.GDIPlus ---> System.DllNotFoundException: gdiplus.dll
Comment(0)