2012-05-06 9 views
7

Estoy probando mono por primera vez. Estos son los pasos que tomé para configurarlo.mono gtk hola falla mundial, 'Método perdido'

instalado Kubuntu 12.04 LTS en VirtualBox

apt-get install mono-complete gtk-sharp2 

Entonces intentaron ejecutar las aplicaciones del mundo hola en este tutorial.

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

La aplicación de línea de comandos funcionó muy bien.

compilé la aplicación GTK con el siguiente comando según las instrucciones:

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

Cuando ejecuto la aplicación falla con los siguientes errores:

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 

A mí parece que el las bibliotecas mono son incompatibles con las bibliotecas gtk-sharp.

¿Alguien tiene alguna sugerencia sobre cómo puedo hacer que esto funcione?

+6

Esto parece ser un [error] conocido (https://bugs.launchpad.net/ubuntu/+source/mono/+bug/882501), como se menciona en el informe de errores, puede intentar ejecutarlo como 'mono --runtime = v4.0 hello.exe' o compilar con 'dmcs' como [sugerido por marek.safar] (http://stackoverflow.com/a/10474535/925381) –

Respuesta

22

Todas las 12.04 ediciones de Ubuntu tienen el perfil predeterminado de Mono 4.0 (similar a .NET 4.0). Está compilando su hello.cs utilizando el compilador gmcs que tiene como objetivo el perfil 2.0 (similar a .NET 2.0).

Utilice el compilador dmcs en lugar de gmcs y el error desaparecerá.