I have question over how CLR handles assembly binding and loading from GAC if build and revision numbers are changed. Assembly has four parts [Major].[Minor].[Build].[Revision]. I know that if Major and Minor is changed, you need publisher policy to locate newer version of assembly from GAC. What if just Build or revision number is changed? In my below scenario, it doesn't work with build and revision updates.
In my application, I have an assembly info as [1.0.*] so TFS builds assembly with [1.0.5414.23455] numbers in incremental manner on every build. Every day TFS builds project and generate assembly with increment Build and Revision numbers. This is expected behavior as I indicated wild card [1.0.*] in AssemblyInfo file.
Now, I have client application which is built against my application version [1.0.5414.23455]. I am deploying my application to GAC using installer. Now, Client application works fine if GAC has application assembly version [1.0.5414.23455] but if I install newer version (technically nothing changed, just new nightly build) [1.0.5414.23456] in GAC, client application won't load this new version.
I was referring to some Microsoft blogs/docs and found that as long as Major and Minor numbers are same, client application should be able to load assembly from GAC. Build and revision numbers are not mandatory check while locating assembly from GAC.
Is it correct that Build and revision number changes do not have any impact in locating assembly from GAC?
Thanks in advance.