[Mono-devel-list] Assembly versioning
Marcus
mathpup at mylinuxisp.com
Sat May 15 23:44:00 EDT 2004
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.
More information about the Mono-devel-list
mailing list