different behaviors of mixed-mode assembly under .net/wine-mono/native mono.
Hin-Tak Leung
htl10 at users.sourceforge.net
Fri Aug 21 13:53:09 CDT 2015
Hi,
I am trying to look into a somewhat curious issue about
mixed mode assembly under wine-mono.
The application works correctly under wine + MS .net 2.
With native mono on the explicit command line, either win32
mono + wine, or x86_64 linux mono on x86_64 linux,
the win32 native constructor of a class
returns a null. That's fair enough.
But with wine-mono, the application does not behave
either like .net 2 or win32 mono on the command line.
It throws illegal IL code exception.
So I have a specific question - how do I go about finding
out how the IL code exception comes about?
(I have had a couple of patches in either camp so
I am not against patching wine or mono, or wine-mono for that matter)
And a general question: are mixed mode assemblies supposed
to work under win32 mono at all, or wine-mono definitely needed?
I saw some wine + mono discussions a while ago and
I got the impression that mixed mode assemblies are supposed to
work with win32 mono somewhat?
The application itself is available as a public download in binary form.
But since it mostly works - correctly under .net, and even the
illegal IL exception was caught, just not the null constructor.
Editing the IL code to put a try+catch around the constructor
makes it largely operational too under linux mono, so there is
not much of a bug to file; mostly a curiosity why
wine-mono doesn't behave like it support mixed-mode fully, or
not at all, but something between.
Hin-Tak
More information about the wine-devel
mailing list