AssemblyVersion - what if I want to enter DLL Hell?

  • Thread starter Thread starter vryhpy
  • Start date Start date
V

vryhpy

The title is a joke, clearly I don't want DLL Hell. However, I am
curious if there is a way to follow the shared DLL model of the past
using the GAC.

Specificially -

I have ten seperate console applications, lets call them
'ConsoleApp1.exe' through 'ConsoleApp10.exe' which each depend on a
single class library named 'Utility.dll' which is strongly named and
installed in the GAC, v1.0.0.1

I regularly develop performance improvments to 'Utility.dll' which I
want all the console apps to benefit from. Over time, i develop
v1.0.0.2 , v1.0.0.3 all the way to v1.0.0.9 - each time I wish to
deploy the updated library and have all of the console apps use it.

Is there any way for me to install the new class library in the GAC
and have it used by all console apps WITHOUT using a Publisher Policy
File (i.e., is there any way to mark the new library as "compatible"
and therefor the console apps will use the newer version).

Thanks,
Maurice Flanagan
 
WITHOUT using a Publisher Policy File

Why not publisher policy?

(i.e., is there any way to mark the new library as "compatible"
and therefor the console apps will use the newer version).

That's exactly what publisher policy is for.



Mattias
 
I dont believe so. The intention is to eliminate one aspect of DLL hell
where apps hooked onto newest or older DLLs hosting certain progids/com guid
class factories. This gave rise to unexpected results because testing hadnt
been done against these alternate versions and frequently applications
suffered subtle failures.

Enter .Net assemblies, specifically bound to a version of a DLL. Originally
the runtime would automatically use a newer build of an assembly (build is
the last number of the four octet version number), but that behavior seems
to have changed, even to my chagrin...

In essence, the publisher policy gives you what you need, just specify that
version 1.0.0.0 through version 1.0.65535.65535 of Utility.dll can be used
with ConsoleApp1-ConsoleAppN
 
Back
Top