2012-05-06 9 views
7

初めてモノを試しています。ここに私がそれを設定するために取った手順があります。 モノgtk hello worldが失敗しました。 'Missing method'

apt-get install mono-complete gtk-sharp2 

VirtualBoxの

インストール済みのKubuntu 12.04 LTSは、その後、私はこのチュートリアルではハロー世界のアプリケーションを実行してみました。

http://www.mono-project.com/Mono_Basics

コマンドラインアプリケーションは正常に実行しました。

私は指示に従って、次のコマンドを使用してGTKアプリケーションをコンパイル:

gmcs hello.cs -pkg:gtk-sharp-2.0 

私はそれが次のエラーで失敗したアプリケーションを実行すると:私には

Missing method System.Type::op_Inequality(Type,Type) in assembly /usr/lib/mono/2.0/mscorlib.dll, referenced in assembly /usr/lib/mono/gac/gtk-sharp/2.12.0.0__35e10195dab3c99f/gtk-sharp.dll 

Unhandled Exception: System.MissingMethodException: Method not found: 'System.Type.op_Inequality'. 
    at Gtk.Window..ctor (System.String title) [0x00000] in <filename unknown>:0 
    at Hello.Main() [0x00000] in <filename unknown>:0 
[ERROR] FATAL UNHANDLED EXCEPTION: System.MissingMethodException: Method not found: 'System.Type.op_Inequality'. 
    at Gtk.Window..ctor (System.String title) [0x00000] in <filename unknown>:0 
    at Hello.Main() [0x00000] in <filename unknown>:0 

を、それがどのように見えますモノライブラリーはgtkシャープライブラリーと互換性がありません。

私はこれをどのように動作させることができるかに関する提案がありますか?

+6

これは、既知の[バグ](https://bugs.launchpad.net/ubuntu/+source/mono/+bug/882501)のようですが、バグレポートで言及されているように、 'mono --runtime = v4.0 hello.exe'または 'dmcs'を使って[marek.safarの提案](http://stackoverflow.com/a/10474535/925381)でコンパイルしてください。 –

答えて

22

すべての12.04 Ubuntuエディションは、4.0プロファイル(.NET 4.0に似ています)にデフォルト設定されています。 hello.csをgmcsコンパイラを使用してコンパイルしています。このコンパイラは、2.0のプロファイル(.NET 2.0に似ています)を対象としています。

gmcsの代わりにdmcsコンパイラを使用すると、エラーはなくなります。

関連する問題