[If you are looking for a quick answer, jump here.]
Yesterday morning was probably one of my least favorite in recent memory. I arranged to take the day off to go shopping with my wife, but I had to check-in to make sure everything was okay at the office. I checked my email from home and found that there were suddenly two issues reported on my project that was scheduled for an update in production that night.
Needless to say I had to address the problems. It turns out that neither were more than a five minute fix in each case. However, I got slammed with an unrelated issue on my laptop that brought me down to a crawl. At one moment I was reproducing the error the users reported, the next I made the code change and tried to run the web application again and got a totally unrelated error: "asp.net ajax client-side framework failed to load".
I searched the web and found lots of hits, but wasn't having any luck. Most of them involved deployment to another server. In my case, AJAX just suddenly stopped working on my box. I was in dire straits. I needed to get the fix to the customers as soon as possible, and I had no way to confirm it.
I described the problem to my wife, and I discovered yet another reason I can be certain I married the right woman. She simply said to me, "Why don't you try it on your other computer?" Duh!
I had upgraded a few months back from one laptop to another. So, I still had the old laptop laying around. I just needed to get the project updated from svn. After that I was able to make the fix, test and deploy.
Resolution However, I still needed to figure out what was going on with my new machine. I left it alone yesterday and picked it back up again this morning. I gave up on my Google search temporarily and found .Net 3.5 SP1 in my Control Panel - Add/Remove Programs. I clicked Change... and was relieved to see a "Repair" option.
With bated breath I waited for Windows to complete the repair. After a few minutes of reading blogs in Google Reader, I saw that the repair was complete. Now for the test. I ran my web application and all of the Ajax errors disappeared.
Perhaps this was coincidental; who knows. I suppose I could go through my logs, but I'm back in business and that is good enough for me. Of course, this doesn't explain how Ajax got broken in the first place.