While helping someone setup a new development environment on a Virtual Machine for an existing asp.net project we found we were getting a 500.19 error when we tried to launch the local site… “this configuration cannot be used at this path”. Err?

Other developers were using the codebase so we were not worried about the code base being incorrect.  I.T. had setup the VM so we verified that the 4.5 framework was installed and ran aspnet_regiis.  But the yellow screen of death stared mockingly at us while we verified permissions, security settings rebuilt the solution and –just for good measure- rebooted the VM.  We deleted the application pool and the site from IIS, recreated them and tried again to no avail.

I sat back and asked, if nothing we tried works, what haven’t we tried and why?

So I started a mental list of assumptions,

  1. The codebase is good
  2. Asp.net is installed
  3. SQL  is installed
  4. IIS is installed.

I stopped there… I checked the error screen and noticed that it wasn’t a asp.net yellow screen of death and several values were not yet set, like the handler.  I struck the codebase off the list because we were not even getting into the codebase.  That is not to say there wasn’t an issue there, but it wasn’t the one we were experiencing.

The 4.5 framework showed up in the add/remove programs list and we had already run a “repair” which didn’t help and there were no asp.net related errors in the event viewer.

I crossed SQL server off the list as well.  We we not getting into the code so there would not be anything using SQL, in addition there was nothing in the event viewer about a SQL error. 

IIS was clearly installed as we were getting an error and it occurred to me, we were assuming IIS was configured properly.  After a quick trip the “turn on/off windows features” we found that asp.net was not checked.  We enabled the related features, reran aspnet_iisreg and recreated the app pool/site (again) and tried again.

The locally hosted site appeared in the browser and we went back to work.

Again I am reminded of an old friend telling me “trust but verify” and “your configuration is wrong”.  We trust IT to setup our workstations correctly so we can work, but we still need to verify that it was done correctly and in the right order.  The folks in IT are only human and sometimes a checkbox gets missed.  When things don’t work on a new workstation, we cant assume it was setup correctly, as developers we need to verify it.