Hi,
the issue arises in the following context:
MS Word -> .dot -> unmanaged library A (vb6) -> managed library B -> managed library C
The managed libraries are not strongly named and not signed.
Library B can resolve the reference to library C if the version of library C is the one it was at compile time of library B. However, if we produce a new version of library C only by increasing the assembly version number, assembly resolution fails.
Since there are hundreds of assemblies like library B that reference library C we would like to avoid recompilation and delivery of all of them for every new version of library C.
When using it in a context like
managed process -> managed library B -> managed library C
resolution of references to library C will always work, even if the version number of library C differs.
This leads to the conclusion that assembly resolution is different in the two contexts.
My question is, why assembly resolution is different in the first context and how it is exactly working then.
We used fuslogvw to see why resolution fails and it was obvious that in the first context with differing version numbers only the word-application path is being probed but with matching version number the assembly is found in its directory (the directory where library B resides, too).
Let's assume we cannot change library B to use dynamic loading an the likes.
Regards