D
Dilip
I have a situation at work that has me wondering if GAC is causing
more harm than good in my particular scenario.
Our application depends on a third party dll that is installed in the
GAC. This assembly seems to change its build/revision portion of its
version numbers with every new iteration of the software. If I were
to write an application that dynamically loads this assembly using
reflection, and calls its members, there is no way my application can
remain in sync with the third party software, right? I mean, if I
write my application to load a certain version from the GAC using
Assembly.Load and then deploy it and our vendor promptly comes out
with a new version that does not have any significant changes to the
shared assembly but still bumps up the build/revision number, my
application will now stop working because it can't find the right
version, right? Of course when my vendor installs the new software my
application will also be restarted to ensure that I don't make calls
on zombie objects.
I guess my point is Assembly.LoadWithPartialName would've greatly
helped me here. I simply want to pull whatever version of this shared
assembly is present in the GAC.
Either I am missing something blindingly obvious or else I have run
into a legitimate corner case.
Which is it?
more harm than good in my particular scenario.
Our application depends on a third party dll that is installed in the
GAC. This assembly seems to change its build/revision portion of its
version numbers with every new iteration of the software. If I were
to write an application that dynamically loads this assembly using
reflection, and calls its members, there is no way my application can
remain in sync with the third party software, right? I mean, if I
write my application to load a certain version from the GAC using
Assembly.Load and then deploy it and our vendor promptly comes out
with a new version that does not have any significant changes to the
shared assembly but still bumps up the build/revision number, my
application will now stop working because it can't find the right
version, right? Of course when my vendor installs the new software my
application will also be restarted to ensure that I don't make calls
on zombie objects.
I guess my point is Assembly.LoadWithPartialName would've greatly
helped me here. I simply want to pull whatever version of this shared
assembly is present in the GAC.
Either I am missing something blindingly obvious or else I have run
into a legitimate corner case.
Which is it?