While setting up Cruise Control .Net recently, I received the following error screen:
The text of the error was surprisingly helpful and says something to the effect of:
HTTP Error 500.0 - Internal Server Error
Description: This application is running in an application pool that uses the Integrated .NET mode. This is the preferred mode for running ASP.NET applications on the current and future version of IIS.
In this mode, the application should not specify ASP.NET handler mappings in the <system.web>/<httpHandlers> configuration section. Instead, it should use the <system.webServer>/<handlers> configuration section to configure ASP.NET handler mappings. You have the following options:
1) Migrate the application to work with the Integrated .NET mode (PREFERRED).
2) Move this application to an application pool using the Classic .NET mode.
It's of course not possible for me to migrate this application. That leaves fixing the application pool error. The error screen provides a command line fix to change the application pool to the Classic .NET AppPool, which is built into IIS 7. Sounds reasonable enough. It's also possible to change this setting from within IIS.
Under Web Sites > Default Web Site, right-click the virtual directory installed by Cruise Control .Net (ccnet by default) and click "Advanced Settings". Change the Application Pool property under Behavior over to Classic .NET AppPool, click OK and reload the page.