Search code examples
.netiis-express

IIS Express - 500.19 Cannot read configuration file - because it's looking at the wrong path


I recently renamed my root TFS folder from D:\TFS\systemstfs to D:\TFS\sys because one of the project's paths was too long for Windows. Now, when I attempt to run a different project (D:\TFS\sys\companydomain.com\Dev\Flowers\wsBusinessLayer) in VS2013 using IIS Express (Project URL http://localhost:59729/Flowers/wsBusinessLayer/) I get the following error message in the browser:

HTTP Error 500.19 - Internal Server Error
The requested page cannot be accessed because the related configuration data for the page is invalid.

Module - IIS Web Core
Notification - BeginRequest
Error Code - 0x80070003
Config Error - Cannot read configuration file
Config File - \?\D:\TFS\systemstfs\companydomain.com\Dev\Flowers\web.config
Requested URL - http://localhost:59729/Flowers/wsBusinessLayer/InformationServices.asmx
Physical Path - D:\TFS\sys\companydomain.com\Dev\Flowers\wsBusinessLayer\InformationServices.asmx

(emphasis mine, D: is the second HDD on my machine, not a network share)

It's clear to me what the problem is (the config file path is wrong) but I have no idea how to fix it. I have tried:

  • Enabling "break on CLR exceptions when thrown"
  • Re-getting the solution from TFS
  • Rebooting
  • Switching to use IIS and then back to Express
  • Googling 500.19, 0x80070003, wrong path, cannot read configuration file, and various combinations of those terms

But have had no luck. Has anyone come across this before?


Solution

  • Turns out I had to edit %USERPROFILE%\Documents\IISExpress\config\applicationhost.config in the following way -

    <configuration>
      <system.applicationHost>
        <sites>
          <site name="wsBusinessLayer">
            <application path="/">
               <virtualDirectory path="/Flowers" physicalPath="D:\TFS\sys\companydomain.com\Dev\Flowers" />
    

    I don't know how this file gets changed "properly", but editing it manually worked fine.