[Mono-devel-list] Assembly versioning

meddochat (Matthijs ter Woord) meddochat at zonnet.nl
Sun May 16 13:29:01 EDT 2004


I read a book once which said the runtime assumes the following versioning
strategy is used:

version format : <Major>.<Minor>.<Build>.<Revision>

The book says, the runtime assumes that when an assembly differs in Build
number or Revision number, it's for bug fixes or something. this means the
assembly should be used then. when an assembly differs minor/major version,
it's an architectural change, so it's not compatible.

The book was .NET XML Developers guide, bought at syngress.

Matthijs ter Woord

----- Original Message ----- 
From: "Jackson Harper" <jackson at ximian.com>
To: "Marcus" <mathpup at mylinuxisp.com>
Cc: "mono-devel mailing list" <mono-devel-list at lists.ximian.com>;
<developers at dotgnu.org>
Sent: Sunday, May 16, 2004 7:11 PM
Subject: Re: [Mono-devel-list] Assembly versioning


>
> Hello,
>
> There doesn't seem to be and hard rules regarding this. If you create
> an assembly and install it to the GAC then reference an assembly with a
> different revision number the assembly will not load. So it seems to
> only be done with System assemblies (from my research at least). I
> haven't found any configuration files or anything that are doing the
> remapping. Do you know how the runtime is supposed to know its ok to
> disregard portions of version numbers?
>
> Thanks!
> Jackson
>
>
> On Sat, 2004-05-15 at 20:44, Marcus wrote:
> > The Mono runtime appears to require an exact match between compile-time
and
> > run-time version numbers, at least as far as major and minor version -- 
I'm
> > not sure about the revision and build number. For example, if I compile
> > 'version.cs' and reference version 1:2:3400:0 of System.Xml, mono will
reject
> > the executable 'version.exe' if it finds version 1.0.5500 of System.Xml
at
> > runtime.
> >
> > This is not consistent with .NET. .NET will run applications where the
version
> > numbers differ, at least in the minor version number. (I am not sure
about
> > the major version numbers.)
> >
> > Partition II section 6.2.1.4 addresses this issue by saying that "[a]
> > conforming implementation may ignore version numbers entirely, or it may
> > require that they match precisely when binding a reference, or any other
> > behavior deemed appropriate."
> >
> > One of the consequences of this behavior is that applications built with
Pnet
> > will run on .NET, Rotor, and Pnet, but fail on Mono, because Pnet's
libraries
> > are carrying version like 1:2:3400:0.
> > _______________________________________________
> > Mono-devel-list mailing list
> > Mono-devel-list at lists.ximian.com
> > http://lists.ximian.com/mailman/listinfo/mono-devel-list
>
> _______________________________________________
> Mono-devel-list mailing list
> Mono-devel-list at lists.ximian.com
> http://lists.ximian.com/mailman/listinfo/mono-devel-list





More information about the Mono-devel-list mailing list