My class library project (which is developed 8 years back) needed Assembly A
. Though Assembly A
is strong named, developers then kept them in local folder and referenced from there so that assembly is always there in the application's bin
folder. I guess, this was done to get rid of some deployment issues.
My class library project is consumed by one of our clients.
Newer version of Assembly A
has been released and our client's application wants to use that version. They are not referencing new version from GAC; they have their own copy! Now when they use latest version, they get an error because my class library project assembly which they have referenced needs older version of the Assembly A
.
- How to solve this particular problem?
- Would client face the same issue if I change my project to start referencing
Assembly A
from GAC (when they still use their local copy) ? - Newer version of
Assembly A
has some breaking changes. If client and I, both, start using required versions of the assembly from GAC, will our problem be solved? - If there comes newer version of the
Assembly A
and if that goes to GAC, will .NET load the one from GAC regardless of the version we are referencing in both the projects?