[Mono-dev] Problem with reference not refreshed or specific version binding

Mirco Bauer meebey at debian.org
Mon May 25 13:41:43 EDT 2009


On Mon, 25 May 2009 09:48:34 +0200
APS <dev.malst at apsystems.it> wrote:

> So you confirm that if I have a non-strongnamed library version 
> 1.1.0.0 and I make a new bug fix version 1.1.1.0 (I think that 
> changing revision is a normal behavior when fixing bugs) I have to 
> rebuild all the assemblies that use it otherwise I'll obtain a 
> reference not found error? With "not equal only in version number" 
> Gonzalo means "with no difference in interface"?

You have 3 options to handle this:

a) do not bump the assembly version and deploy the new version using
the same version number (can be seen as overwriting the old version)

b) bump the assembly version on each release (like you did) and install
policy files that map the old version number to the new one: e.g.
1.1.0.0 to 1.1.1.0, that's a feature provided by Mono and .NET, see:
http://pkg-mono.alioth.debian.org/cli-policy/ch-appendix.html#s-gac-policy-file-example
or
http://msdn.microsoft.com/en-us/library/dz32563a.aspx

c) bump the assembly version on each release but don't install policy
files and recompile all applications that use that library.

> 
> At 18.44 22/05/2009, Robert Jordan wrote:
> >APS wrote:
> > > I already do that. I don't have wildcards and I increment the
> > > version when I fix some bug or add some feature to the library.
> > > But I'm not able to install an existing exe with a fixed library
> > > without recompiling it, even if the interface is compatible. it
> > > always says that the version number is not as expected.
> >
> >Don't bump the version if the interface remains compatible.
> >
> >As Gonzalo already wrote: there are subtle differences between
> >mono and MS.NET. Mono behaves more like MS.NET when the assemblies
> >are strongnamed. Otherwise it's stricter than MS.NET.

I have to disagree, .NET for example does not accept private
but strong named libraries were the major number part was changed.

To my experience Mono is less strict than .NET when it comes to
versioning, also see the gacutil issues with delayed signing Mono had.

> >
> >Robert

-- 
Regards,

Mirco 'meebey' Bauer

PGP-Key ID: 0xEEF946C8

FOSS Developer    meebey at meebey.net  http://www.meebey.net/
PEAR Developer    meebey at php.net     http://pear.php.net/
Debian Developer  meebey at debian.org  http://www.debian.org/


More information about the Mono-devel-list mailing list