Any time you update your custom timer job class and deploy the assembly to the global assembly cache, you must restart all the timer services in the farm. If you don’t restart the timer service, it will run the old copy of your timer job class. Yes, the timer service caches the assemblies. Restarting the SharePoint timer service is the only way to refresh the assembly cache and force it to use your updated assembly. You can achieve that from the command line using the following commands:
net stop sptimerv3
net start sptimerv3
Yes! I have learned that the hard way!
Just a quick note to let you know that a new free bonus issue of “Understanding SharePoint Journal” was released a couple of hours ago. The issue is titled “SharePoint Troubleshooting” and is written by me.
In that 25-page bonus issue, I will introduce you to some of the troubleshooting utilities, tools, tips, and tricks that can make your life easier in view of the fact that SharePoint troubleshooting can really be a nightmare for those who are new to the platform if it is not performed properly. The initiative for this issue came out of my late nights as a software engineer trying to troubleshoot SharePoint solutions to ship high-quality products on time.
You can get the issue for free from here. I’ll also be waiting for your feedback for the issue firstname.lastname@example.org