Hello,
I am upgrading from mono 2.10.x to mono 3.x (3.0.1 with many backports from
master) and I found that one of my apps (which uses ShadowCopy and which is
still targeting .net35) fails due to an assembly remapping problem with
System.Runtime.Serialization.dll.
The problem is related to a fix for issues #8037 & #6528
(e3b9881e5707953bd37fb3ed0dbeab93e6603a5e) which seems to be breaking shadow
copy with programs targeting .net35 and referencing
System.Runtime.Serialization.dll, as this assembly is installed at:
mono/gac/System.Runtime.Serialization/3.0.0.0__b77a5c561934e089
But during remapping mono maps v3.0.0.0 to v3.5.0.0 and hence, shadow copying
code does not finde the assembly there:
Mono: The request to load the assembly System.Runtime.Serialization v3.0.0.0
was remapped to v3.5.0.0
Mono: Assembly Loader probing location:
'/usr/lib/mono/gac/System.Runtime.Serialization/3.5.0.0__b77a5c561934e089/System.Runtime.Serialization.dll'.
Mono: Assembly Loader probing location:
'/usr/lib/mono/gac/System.ServiceModel/3.0.0.0__b77a5c561934e089/System.Runtime.Serialization.dll'.
Mono: Assembly Loader probing location:
'/usr/lib/System.Runtime.Serialization.dll'.
However, I'm not sure if the correct fix for this should be made inside
assembly remapping code, or if it should be just changing Makefile's
infrastructure so System.Runtime.Reflection.dll gets installed into
mono/gac/System.Runtime.Serialization/3.5.0.0__b77a5c561934e089.
Please I would be really thankfull to however can advise me on this.. ;)