[Mono-dev] One Version of Mono.Cairo

Robert Jordan robertj at gmx.net
Wed Jul 2 12:31:25 EDT 2008

Hi Jonathan,

Jonathan Pobst wrote:
> Currently we ship 2 versions of Mono.Cairo.dll in Mono, a 1.0 and a 2.0 
> version.  However, there is no difference in these versions.  This can 
> cause issues if different assemblies reference different versions and 
> the runtime tries to load them both.

The assemblies you've listed are all using

[assembly: AssemblyVersion (Consts.FxVersion)]

consistently, so the assembly names are different.

The mentioned issues could be caused by a runtime bug, though.
Or by the Assembly.LoadWithPartialName and similar APIs.

> I think we need to:
> - Not ship a 2.0 version.

This will break compatibility.

> - Ship a policy file that maps both versions to the 1.0 version.

This is better, but then we need symlinks from lib/mono/1.0/
to lib/mono/x.x/ to help gmcs in finding those assemblies.

> This should allow existing programs to work while reducing us to only 
> one version Mono.Cairo.
> Some other assemblies that we appear to ship 1.0 and 2.0 versions of 
> without any differences between them (looking at the 1.9.1 Win/Mono Gac):
> - CustomMarshallers.dll

Just one probe:

$ gacutil -l | grep Custom

CustomMarshalers, Version=1.0.5000.0 ...
CustomMarshalers, Version= ...

They are different.

> - Mono.Data.dll
> - Mono.Data.SybaseClient.dll
> - Mono.Data.TdsClient.dll
> - Mono.Http.dll
> - Mono.Posix.dll
> - Mono.Security.Win32.dll
> - Novell.Directory.Ldap.dll
> - Npgsql.dll
> - OpenSystem.C.dll


> Jonathan

More information about the Mono-devel-list mailing list