[Mono-list] deployment w/ run time of mono?

Jonathan Pryor jonpryor at vt.edu
Tue May 24 07:33:36 EDT 2005

On Mon, 2005-05-23 at 07:15 -0500, netSQL wrote:
> 1. where is the run time of mono?

Simple answer: build your own version of mono and install it into a
custom prefix.  Everything under that prefix is part of mono's
runtime. :-)

Alternatively, grab the x86 Linux installer, install it into a custom
location, and look at everything under that location.  See:


This will include:
  - $prefix/etc/mono/* (configuration files)
  - $prefix/bin (55 files in my install, including mcs, mono, ilasm)
  - $prefix/lib (40 files in my install, including libmono.so,
    libMonoPosixHelper.so, libikvm-native.so, and many Gtk# libraries
    such as libgtksharpglue-2.so)
  - $prefix/lib/mono/1.0: .NET 1.1 profile symlinks into GAC
  - $prefix/lib/mono/2.0: .NET 2.0 profile symlinks into GAC
  - $prefix/lib/mono/gac/*: Global Assembly Cache

> 2. how do I make my app portatable ?

Through design and testing.  Either don't rely on features present on
only one platform (such as COM interop to host Internet Explorer), or
use equivalents for each platform (IE under .NET, Gecko# under Mono).

There are a variety of design patterns you can use to cleanly use
platform-specific code while providing fallbacks for other platforms.
You might try reading "Cross-Platform .NET", which covers writing
portable code:


 - Jon

More information about the Mono-list mailing list