[Mono-devel-list] Assembly versioning
mathpup at mylinuxisp.com
Sun May 16 18:58:44 EDT 2004
Mono's behavior does conform to the spec, but the spec also permits the
runtime to ignore version numbers. I do not know exactly what .NET does. When
I say "version number," I mean the entire four-component A:B:C:D field. Under
what circumstances does .NET require an exact match? And does it really
require an exact match in all four components of the version, or just major
and minor numbers?
My point is that Mono should be at least as permissive as .NET with regard to
loading assemblies. From what I see, the ECMA spec is agnostic with regard to
the GAC. So I really think the behavior needs to be empiracally derived to
follow .NET as reasonably as possible.
I'm attached an example of the disassembled code (since I do not know if
binaries work in the mailing list). The corresponding executable works
on .NET, Pnet, and Rotor, but fails on Mono with
** (version.exe:7013): WARNING **: Could not find assembly System.Xml,
references from /home/marcus/version.exe (assemblyref_index=1)
Unhandled Exception: System.NullReferenceException: A null value was found
where an object instance was required.
On Sunday 16 May 2004 12:11 pm, Jackson Harper wrote:
> 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?
-------------- next part --------------
A non-text attachment was scrubbed...
Size: 2082 bytes
Desc: not available
Url : http://lists.ximian.com/pipermail/mono-devel-list/attachments/20040516/23d4a0f0/attachment.bin
More information about the Mono-devel-list