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

Jaroslaw Kowalski jaak@zd.com.pl
Thu, 6 May 2004 08:14:47 +0200


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>

Jarek
----- Original Message ----- 
From: "Gonzalo Paniagua Javier" <gonzalo@ximian.com>
To: <mono-list@lists.ximian.com>
Sent: Thursday, May 06, 2004 12:55 AM
Subject: Re: [PATCH] Re: [Mono-list] windows code pages?


> El jue, 06-05-2004 a las 00:26, Jaroslaw Kowalski escribió:
> > I found the solution to this problem. I18N was broken badly.
> > As one could expect it was related to GAC. I18N.Common.Manager called
> > Assembly.Load() without specifying the fully qualified name.
> >
> > Patch is attached. Is it ok to commit?
>
> I'd rather go for using Assembly.LoadWithPartialName.
>
> -Gonzalo
>
>
> _______________________________________________
> Mono-list maillist  -  Mono-list@lists.ximian.com
> http://lists.ximian.com/mailman/listinfo/mono-list
>