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

在我看来,单声道库与 gtk-sharp 库不兼容。

有人对我如何使它工作有任何建议吗?

4

1 回答 1

22

所有 12.04 Ubuntu 版本都有 Mono 默认为 4.0 配置文件(类似于 .NET 4.0)。您正在使用 gmcs 编译器编译 hello.cs,该编译器旨在针对 2.0 配置文件(类似于 .NET 2.0)。

使用 dmcs 编译器而不是 gmcs,错误就会消失。

于 2012-05-06T21:40:12.757 回答