Club 404
At work we made the big switch to .NET Framework 2.0 a couple weeks ago. The upgrade was a little bumpy - even though I'd done the upgrade on our staging box, there were other problems that didn't show up until I tried it on a production box.
One of the features of ASP.NET 2.0 is that it gives you a couple of interesting ways to return HTTP status 404. It turns out that you can put a file named app_offline.htm into your application's root directory, and IIS will return 404 for all requests directed at that application. This is something you'd do intentionally, though apparently sometimes it just happens. The 2nd way to 404 an entire application is if you don't have the ASP.NET Web Service Extensions enabled. I question the choice of status code (why not 503?), but there it is.
One other potential gotcha is that we changed where our ASP.NET applications were rooted, moving the app root up a directory. Initially, I just removed the existing web apps and recreated an application in the parent directory. However, what I found is that sometimes ASP.NET was still acting as though there was a .NET 1.1 application in the old application root and trying to run it in a 2.0 AppDomain, which caused all requests to fail with a 500. Adding the old application back, switching it to use 2.0, and removing the application fixed that problem.
