[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
made?
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