Mixed-mode assembly support in Mono

Kornél Pál kornelpal at gmail.com
Mon Apr 28 11:29:09 CDT 2008


Hi,

I have recently committed required changes to Mono SVN repository as 
r102052.

Now Mono has mixed-mode assembly support on Windows. These is no full MSVCRT 
support because that heavily depends on the unmanaged API of .NET Framework 
but programs compiled using Microsoft Visual C++ and not using MSVCRT should 
be supported. Even exporting functions in managed DLLs is supported that is 
supported by ildasm.exe and ilasm.exe as well.

When the process is created using mono.exe there are some limitations for 
executable assemblies but with a custom mscoree.dll Mono has full support to 
create processes from managed executables.

The attached mscoree.c is the source code for a custom mscoree.dll that uses 
Mono for creating processes from executables. I think that you should 
incorporate this into your mscoree.dll. Also note that you should only 
provide not implemented stubs in your mscoree.dll and implement missing 
functionality in Mono's coree.c if required.

mscoree.c and 
http://anonsvn.mono-project.com/viewcvs/trunk/mono/mono/metadata/coree.c 
contains some comments about managed module support in ntdll.dll and 
msvcrt.dll of XP and later. If someone volunteers this could be implemented 
in Wine as well.

Kornél 
-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: mscoree.c
Url: http://www.winehq.org/pipermail/wine-devel/attachments/20080428/e9671ab5/attachment-0001.txt 


More information about the wine-devel mailing list