IIS Express – 500.19无法读取configuration文件 – 因为它正在查看错误的path
我最近重命名我的根TFS文件夹从D:\TFS\systemstfs
到D:\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删除网站的定义,并重新添加它来使其工作。