IIS Express – 500.19无法读取configuration文件 – 因为它正在查看错误的path

我最近重命名我的根TFS文件夹从D:\TFS\systemstfsD:\TFS\sys因为项目的path之一是Windows的太长。 现在,当我尝试使用IIS Express(Project URL http:// localhost:59729 / Flowers / wsBusinessLayer / )在VS2013中运行不同的项目(D:\ TFS \ sys \ companydomain.com \ Dev \ Flowers \ wsBusinessLayer)在浏览器中获取以下错误信息:

HTTP错误500.19 – 内部服务器错误
请求的页面无法访问,因为页面的相关configuration数据无效。

模块 – IIS Web Core
通知 – BeginRequest
错误代码 – 0x80070003
configuration错误 – 无法读取configuration文件
configuration文件 – \?\ D:\ TFS \ systemstfs \ companydomain.com \ Dev \ Flowers \ web.config
请求的URL – http:// localhost:59729 / Flowers / wsBusinessLayer / InformationServices.asmx
物理path – D:\ TFS \ sys \ companydomain.com \ Dev \ Flowers \ wsBusinessLayer \ InformationServices.asmx

(强调我的D:是我机器上的第二个硬盘,而不是networking共享)

我清楚问题是什么(configuration文件path是错误的),但我不知道如何解决它。 我努力了:

  • 启用“抛出时抛出CLRexception”
  • 从TFS重新获得解决scheme
  • 重新启动
  • 切换到使用IIS,然后返回到Express
  • 使用谷歌search500.19,0x80070003,path错误,无法读取configuration文件,以及这些条款的各种组合

但没有运气。 有没有人遇到过这个?

这里是另一个不涉及捕获applicationhost.config文件的可能的解决scheme:

  • 右键单击Web项目> Web> Project Url>(例如'localhost:5459'),然后递增将强制该文件中的新条目的端口号

在我的情况下,我也需要改变authentication模式,可以通过以下方式完成:

  • selectWeb项目>按F4>根据需要设置Windows身份validation(在我的情况启用)。

原来我不得不用下面的方法编辑%USERPROFILE%\Documents\IISExpress\config\applicationhost.config

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

我不知道这个文件如何被“正确地”改变,但手动编辑它工作正常。

改变我的MVC项目的端口号解决了我的问题。 我花了一个多小时寻找答案。 谢谢你Sonic Soul。

当一个微小的调整可以修复可怕的破碎的东西时,它总是让我感到惊讶。

我增加了端口号,错误解决了。

 Project Properties > Web > Project Url 

使用Visual Studios 2015。

就我而言,以下更改解决了此错误:

[SolutionFolder]>.vs[Hidden Folder]打开applicationhost.config文件,并将windowsAuthentication部分中的overrideModeDefault属性的值从Deny更改为Allow 。 如下所示。

如果您正在使用本地IIS Web服务器,请重命名自定义虚拟目录,保存并重试。 在此之后,您可以放回原来的名字。

我得到了同样的错误在IIS 8.5(不表示)

对我来说,这是因为我已经用一个副本replace了文件夹,并在IIS运行时将其重命名。 出于某种原因,它保持错误。 我不得不从IIS删除网站的定义,并重新添加它来使其工作。