Hello,
To my understanding, Ubuntu does not support GTK# for .NET 2.0 based
mono runtime, which is not a bug. You are trying to run an app with
insufficient software components on an OS. If you want to use the
feature that the OS does not provide, you'll have to provide that by
yourself, like it wouldn't make sense to bug Microsoft that WP7 does not
ship with System.Data.
(In other words, while .NET 2.0 could be the LCD, gtk# on .NET 2.0 is not .)
I believe you could build and provide gtk# which is based on .NET 2.0
profile. Putting package for public would help Ubuntu users. Or
Ubuntu/Debian people may already have such packages apart from official
repos. AFAIR there are some "2.0-cil" packages in Ubuntu.
Atsushi Eno
IBBoard wrote:
It appears there is a problem with running older .Net apps on the
latest versions of Ubuntu. If you compile for .Net 2.0 (perhaps
because that is your lowest common denominator, because you are
working cross-platform and you know some people will still be using
WinXP without the huge .Net 3/3.5/4 updates) and run it on Ubuntu then
you currently get an instant crash with a message like "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"
It looks like this problem is quite prevalent and problematic
(https://bugs.launchpad.net/ubuntu/+source/mono/+bug/882501,
http://stackoverflow.com/questions/10473868/mono-gtk-hello-world-failing-missing-method,
and the rest of Google). The two fixes people have are "recompile"
(only an option if you're *only* targeting Ubuntu and want to use
v4.0) or "add the --runtime=v4.0 switch" to force a 2.0 app to run as
4.0.
Based on the assembly mentioned in error and what I've picked up
online, am I right in understanding that this is a purely
Ubuntu-caused problem because GTK# is now build with the .Net
4.0-compatible compiler? Is there any way they can fix this, or are we
stuck with it? And are there any sensible and non-hackish ways to work
around this in the meantime?
I'm working on my own Bash wrapper at the moment to fix this only when
necessary
(http://dev.ibboard.co.uk/repos/IBDev-IBBoard.WarFoundry.GUI.GTK/files/tip/WarFoundry.sh)
but I'm sure there must be better ways to do it.
Thanks.
_______________________________________________
Mono-list maillist - [email protected]
http://lists.ximian.com/mailman/listinfo/mono-list
_______________________________________________
Mono-list maillist - [email protected]
http://lists.ximian.com/mailman/listinfo/mono-list