PC Review
Forums
Newsgroups
Microsoft DotNet
Microsoft Dot NET Compact Framework
GAC Preference Order
Forums
Newsgroups
Microsoft DotNet
Microsoft Dot NET Compact Framework
GAC Preference Order
![]() |
GAC Preference Order |
|
|
Thread Tools | Rate Thread |
|
|
#1 |
|
Guest
Posts: n/a
|
All,
Let's say I have two versions of the same assembly installed into GAC: - ABC.Business_v1.0.1000_cneutral.dll and - ABC.Business_v1.0.1100_cneutral.dll And I have an application that uses the ABC.Business.dll with no specification of version. Will the application always automatically pick the GAC file with the higher version? Or will there possibly be room for confusion? I'm wondering if there's an easy way to clear out the old DLLs (but not the entire GAC!) during a CAB installation routine. |
|
|
|
#2 |
|
Guest
Posts: n/a
|
That situation is simply not possible. Application is compiled against
particular assembly version, that's the one it's going to use. In this case if application is compiled: 1. against ABC.Business.dll with strong name version 1.0.100 it would use this specific version or throw TypeLoadException if assembly is not found. 2. against ABC.Business.dll with strong name version 1.0.110 it would use this specific version or throw TypeLoadException if assembly is not found. 3. against ABC.Business.dll with no version (not strong name signed, can't be GAC'ed) it would use that none strong name signed version or throw TypeLoadException if assembly is not found. -- Best regards, Ilya This posting is provided "AS IS" with no warranties, and confers no rights. *** Want to find answers instantly? Here's how... *** 1. Go to http://groups-beta.google.com/group...framework?hl=en 2. Type your question in the text box near "Search this group" button. 3. Hit "Search this group" button. 4. Read answer(s). "jminiman" <jaredscottmin@gmail.com> wrote in message news:1173208127.665458.31560@t69g2000cwt.googlegroups.com... > All, > > Let's say I have two versions of the same assembly installed into GAC: > > - ABC.Business_v1.0.1000_cneutral.dll > and > - ABC.Business_v1.0.1100_cneutral.dll > > And I have an application that uses the ABC.Business.dll with no > specification of version. Will the application always automatically > pick the GAC file with the higher version? Or will there possibly be > room for confusion? > > I'm wondering if there's an easy way to clear out the old DLLs (but > not the entire GAC!) during a CAB installation routine. > |
|
|
|
#3 |
|
Guest
Posts: n/a
|
On Mar 7, 6:23 pm, "Ilya Tumanov [MS]" <ilya...@online.microsoft.com>
wrote: > That situation is simply not possible. Application is compiled against > particular assembly version, that's the one it's going to use. > > In this case if application is compiled: > > 1. against ABC.Business.dll with strong name version 1.0.100 it would > use this specific version or throw TypeLoadException if assembly is not > found. > > 2. against ABC.Business.dll with strong name version 1.0.110 it would > use this specific version or throw TypeLoadException if assembly is not > found. > > 3. against ABC.Business.dll with no version (not strong name signed, > can't be GAC'ed) it would use that none strong name signed version or throw > TypeLoadException if assembly is not found. > > -- > Best regards, > > Ilya > > This posting is provided "AS IS" with no warranties, and confers no rights. > > *** Want to find answers instantly? Here's how... *** > > 1. Go tohttp://groups-beta.google.com/group/microsoft.public.dotnet.framework... > 2. Type your question in the text box near "Search this group" button. > 3. Hit "Search this group" button. > 4. Read answer(s). > > "jminiman" <jaredscott...@gmail.com> wrote in message > > news:1173208127.665458.31560@t69g2000cwt.googlegroups.com... > > > All, > > > Let's say I have two versions of the same assembly installed into GAC: > > > - ABC.Business_v1.0.1000_cneutral.dll > > and > > - ABC.Business_v1.0.1100_cneutral.dll > > > And I have an application that uses the ABC.Business.dll with no > > specification of version. Will the application always automatically > > pick the GAC file with the higher version? Or will there possibly be > > room for confusion? > > > I'm wondering if there's an easy way to clear out the old DLLs (but > > not the entire GAC!) during a CAB installation routine. Ilya, Thanks for your response. It's not clear to me why the if my application is linking to a non-strong named assembly, why would it not properly load a strong-named assembly from the GAC? I know for a fact that this works since we've run an installation routine off a hard reset device that only has these assemblies in GAC. My concern is that we could reinstall and simply add to the GAC, and it would become unclear as to which GAC instance the application would refer to. |
|
![]() |
|
| Thread Tools | |
| Rate This Thread | |
|
|

Main Page 

