[PATCH] Re: [Mono-list] windows code pages?

Gonzalo Paniagua Javier gonzalo@ximian.com
Thu, 06 May 2004 11:59:40 +0200


El jue, 06-05-2004 a las 08:14, Jaroslaw Kowalski escribió:
> I'm not a assembly resolver expert but consider this scenario
> 
> 1. GAC has a full set of 1.0 and 2.0 assemblies loaded
> 2. Application running on 1.0 mscorlib loads I18N.dll, version 1.0 using:
> 
> Assembly.Load("I18N, Version=1.0.5000.0, Culture=neutral,
> PublicKeyToken=0738eb9f132ed756");
> 
> 3. I18N.dll calls Assembly.LoadWithPartialName("I18N.West.dll"). It can load
> either:
> 
>     - I18N.West.dll from the application directory or private probe path -
> signed using ANY strong name or unsigned
>     - I18N.West.dll from v1.0
>     - I18N.West.dll from v2.0
>     - any other I18N.West.dll found in the GAC, even if it's signed by
> somebody else (some malicious user ?)
> 
> Is this what we need ?
> 
> <quote from="MSDN: Assembly.LoadWithPartialName Method(String)">
> Remarks
> Applications that load assemblies with this method will be impacted by
> upgrades of those assemblies. Therefore, do not use this method unless
> necessary, and even then, consider redesigning the application to use Load
> or LoadFrom.
> 
> </quote>

Ok, then the solution is to use #if NET_1_0, NET_1_1, NET_2_0 as it is
done in other places and Load the full assembly name.

-Gonzalo