7

初めてモノを試しています。これが私がそれを設定するために行った手順です。

VirtualBoxにKubuntu 12.04 LTSをインストール

apt-get install mono-complete gtk-sharp2

次に、このチュートリアルで hello world アプリケーションを実行してみました。

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

mono ライブラリは gtk-sharp ライブラリと互換性がないように見えます。

これを機能させる方法について何か提案はありますか?

4

1 に答える 1

22

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

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

于 2012-05-06T21:40:12.757 に答える