[Mono-list] mono c# portability

Jonathan Pryor jonpryor@vt.edu
23 Jun 2003 17:38:27 -0400

More information could be useful.  For example, does the ghosted win2k
image already contain mono, or was mono installed after the image was

Aside from that detail, I can answer your other question: Yes, a runtime
environment has to be installed in order to execute the C# application. 
The runtime environment can be either mono or .NET, depending on your
platform (Windows, apparently).

Please not, however, that due to the lack of Strong Naming/GAC/et. al,
mono-compiled applications WILL NOT run under .NET if they use anything
outside of corlib.dll/mscorlib.dll.  This is a great deal of existing
classes (XML support is in System.Xml.dll, advanced text handling and
lots of other goodies is in System.dll, etc.).  Corlib.dll primarily
contains File I/O, System.Collections, System.Reflection, Runtime
support (System.Runtime.*), and other essential classes.

This is something we should fix, but it's not an easy problem.  (Short
description: System.dll et. al are strong-named, and located in the
GAC.  Since mono doesn't have GAC support, when it compiles against
mono's version of those libraries, the strong-name information isn't
included, so when executed under .NET the GAC-located assemblies won't
be used.  Even GAC support under mono doesn't easily solve this problem,
due to the public/private key system used for shared assemblies.)

Also note that the "other" direction -- running .NET-compiled apps under
mono -- should work, as there are no GAC/versioning issues.  Unless, of
course, you're using something that hasn't been implemented yet
(System.Windows.Forms and the other parts of the class library that
aren't fully implemented yet).

 - Jon

On Fri, 2003-06-20 at 11:06, pjaol wrote:
> Hi
> I'm having problems running mono c# applications on any machine other 
> than the one it's compiled upon.
> I've compiled with on a win 2000 pc, and it fails on similar 2000 
> (ghosted from the same image)
> and also on XP machines.
> The xp machine pops up the following Application Error "failed to 
> initialize properly (0xc0000135). Click on OK to terminate the application"
> Is there a a run time environment that has to be installed on all 
> clients that run any mono c# applications?
> Thanks
> Patrick
> _______________________________________________
> Mono-list maillist  -  Mono-list@lists.ximian.com
> http://lists.ximian.com/mailman/listinfo/mono-list