Scott,
I should have been more complete. I said that the default binding
policy does not use the newest version but what I left out is that the
binding policy can be changed at a couple different levels. Say you
bought a datagrid component from infragistics and used it your app,
during installation you put the dll for the grid in the GAC. Now lets
say months later that user downloads an app with a newer compatible
version (fixes a couple bugs) of the infragistics grid. That program
also installs the grid to the GAC. The default binding policy would
still have your app using the older buggy version, but this can be
altered! When Infragistics put out the newer grid they would include
a special DLL called a publisher policy, this DLL is placed in the Gac
along with the newer version dll and contains information on
compatibility with previous versions. This publisher policy is read
by the clr when your app tries to load the grid dll and it will be
redirected to load the newest version.
If Infragistics messed up and the newer grid broke your app you could
use the app config to override the publisher policy and continue using
the older version.
Here is a link to a much more comprehensive explanation by one of the
MS guys who actualy designed the system:
http://blogs.msdn.com/alanshi
Well now that I revisted that link I realize I should have just
skipped my explanation and just directed you to Alan's blog. Oh well
I spent all this time typing it so off it goes.
Hope this clarifies
Cecil Howell
MCSD, MCT