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

58

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?

.net
iis-express
asked on Stack Overflow Oct 22, 2015 by Jocie

10 Answers

86

Here is another possible solution that doesn't involve fishing for the applicationhost.config file:

  • Right click Web Project > Web > Project Url > (e.g. 'localhost:5459') and then increment the port number which will force a new entry in that file.

In my case I also needed to change authentication mode which can be done via:

  • Select Web Project > press F4 > set Windows Authentication as needed (enabled in my case).
answered on Stack Overflow Aug 4, 2016 by Sonic Soul • edited Jun 19, 2017 by Jeroen
26

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.

answered on Stack Overflow Oct 22, 2015 by Jocie • edited Feb 20, 2017 by John Leidegren
14

In my case, the following changes resolved this error:

Open applicationhost.config file from [SolutionFolder]>.vs[Hidden Folder] and change the value of overrideModeDefault attribute in windowsAuthentication section from Deny to Allow. As shown below.

answered on Stack Overflow Nov 2, 2016 by Mahesh • edited Nov 2, 2016 by Boud
9

Changing the port number on my MVC project resolved my issue. I went in circles for over an hour looking for an answer. Thank you Sonic Soul.

It always amazes me when one tiny tweak can fix something horribly broken.

I incremented the port number and the error magically resolved.

Project Properties > Web > Project Url 

Using Visual Studios 2015.

answered on Stack Overflow Dec 6, 2016 by Becky Garyfallou • edited Dec 6, 2016 by DimaSan
8

In my case, the wrong path was recorded in a .vs folder in the zip i received from colleague. Normally, I'd get source through source repository where .vs is not checked in.

Deleting the .vs folder resolved the problem for me.

answered on Stack Overflow Jan 25, 2018 by Anders Juul
1

If you are using Local IIS Web Server, rename the custom virtual directory, save and try again. After this, you can put back the original name.

answered on Stack Overflow Jun 9, 2017 by Jeferson
1

In my case, I received a new machine but when I try run the source (which is copied from old machine) got this error. Removing applicationhost.config file from .vs\config folder under the source code directory fixed the problem.

answered on Stack Overflow Mar 29, 2018 by Shan
0

I got the same error on IIS 8.5 (not express)

For me it was because I had replaced the folder with a copy and renamed it while IIS was running. For some reason it kept erroring out. I had to remove the website definition from IIS and re add it to get it to work.

answered on Stack Overflow May 14, 2017 by Vaibhav Garg
0

Had the same issue today.

Change that caused the issue

Moving functionality from a separate controller to home controller. I literally moved a view and the functionality behind it from Controller'X' to HomeController

Nature of the issue

  1. Everything works fine when run via IIS express/ Visual Studio
  2. Every thing works fine when deployed locally to IIS.
  3. Hell breaks loose when deployed to the Deployment machine.
  4. Works fine if I deploy to a 'new Site' in Deployment machine's IIS.

Fix

  1. delete the Site/application pool instance from IIS.
  2. Recreate them.
  3. Deploy.
answered on Stack Overflow Apr 11, 2018 by Supun De Silva
0

In my case I replace .. in my path with a normal folder path.

TL;DR

I did the "clever" trick of utilising the relative path of my script file as I did not want to hard code my folder address.

"C:\Program Files\IIS Express\iisexpress.exe" /path:"%~dp0..\Lagardsdorren\bin\Debug\netcoreapp2.2\publish" /port:44342

I knew, but it took my some time to realise, that .. is non grata in IIS(express) as it makes it possible to path yourself out of your sites home directory. In my case it didn't but I guess IIS(express) just stops anything with .. in it.

I don't know how to get back to my clever relative path, but that is for another question.

answered on Stack Overflow Dec 22, 2018 by LosManos

User contributions licensed under CC BY-SA 3.0