Yesterday, after about two years we re-deployed our application. Code hasn’t changed, but the constituent project structure has been re-organised into smaller projects. It all seemed to be fine until today (at 5.29pm) one of our users pointed out an issue. From the nature of the error encountered it is clear that the newly deployed app is not using the new DLLs from the re-organised solution and rather still using old ones. This was confirmed by me deleting the old DLLs that were still in the deployment bin folder and realising that this caused the app to break.
I’ve deleted the stuff under %WINDIR%/Microsoft.Net/Framework/v2.0/Temporary Internet Files but the issue remains. I would be very grateful if someone could explain this and/or suggest a permanent and reliable fix.
We have seen 3 different scenarios cause this exact problem:
1) Cached DLLs in Temporary Internet Files. Remember that if you have upgraded the application to .Net 4, this directory is in the v4.0.30319 subdirectory.
2) Cached pages either in IIS or in the user’s browser. Changing the expiration time on the website to immediate (at least temporarily) usually resolves this issue.
3) DLLs that were supposed to be updated, but weren’t. There are two categories for this issue:
a) The version on the DLL was not updated, so a new version was not deployed.
b) The code to be deployed was not correctly checked in by the developer or checked out on the build machine.
We have always been able to resolve the issue by verifying each of the above items.