[Mono-list] Understanding versions

Bill Medland billmedland@mercuryspeed.com
Wed, 30 Mar 2005 10:33:09 -0800

Can anyone help me understand all this please?

For the past couple of days I have been trying to get a trivial program 
working and suddenly it did but it appears to have done so magically.  I'd 
like to understand what is going on.

I'd like to understand the whole versioning pattern and how versions are 
configured etc.

(Please feel free to point out where my nomenclature etc. is wrong)

I am working under Linux (Red Hat Enterprise Linux 3), building from the 
anonymous svn.
I have a user, mono, which I use for building.  In /home/mono/svnversion I 
have a libgdiplus, mcs and mono directory, containing the source from svn.
I see that I also have /usr/local/lib/mono which contains a 1.0 and a 2.0 
directory and a gac directory containing a directory per assembly, containing 
a 1.0.500.0_... and 2.0.36000.0_... directory containing the actual assembly.  
The /usr/local/lib/mono/1.0/<assembly> links to the one in gac.

Surely there should be some sort of 1.1 directory structure too?

System.Environment.Version returns 1.1.4322.573
mcs --version returns
mono --version returns 1.1.5

I presume that since this is the latest source I am actually building version 
1.1.5 which is presumably a build of 1.1

a. If I use mcs to compile a simple program and then use mono to run it, which 
version of the assemblies will it use (e.g. which System.Windows.Forms.dll)
b. If I use svn update to get the latest code and then run make and make 
install in the mono directory how does it decide which version it is making 
and where to place the assembly?

Bill Medland