Iis 7 IIS7:可能的'原因;无法识别的配置路径';错误

Iis 7 IIS7:可能的'原因;无法识别的配置路径';错误,iis-7,configuration-files,Iis 7,Configuration Files,在IIS7中设置ASP.NET网站后,我得到一个内部服务器错误(500.19),上面写着: “无法识别的配置路径” 此错误的可能原因是什么 (设置其他ASP.NET网站可以正常工作,但对于某个特定网站,它不起作用,我无法找出区别。) 详细错误描述: 错误摘要: HTTP错误500.19-内部服务器错误 无法访问请求的页面,因为该页面的相关配置数据无效。 详细错误信息: 模块:IIS Web核心 通知:BeginRequest 处理程序:尚未确定 错误代码:0x80070002 配置错误:无法识

在IIS7中设置ASP.NET网站后,我得到一个内部服务器错误(500.19),上面写着:
“无法识别的配置路径”

此错误的可能原因是什么

(设置其他ASP.NET网站可以正常工作,但对于某个特定网站,它不起作用,我无法找出区别。)


详细错误描述:

错误摘要:
HTTP错误500.19-内部服务器错误
无法访问请求的页面,因为该页面的相关配置数据无效。 详细错误信息:
模块:IIS Web核心
通知:BeginRequest
处理程序:尚未确定
错误代码:0x80070002
配置错误:无法识别的配置路径“MACHINE/WEBROOT/APPHOST/…”
配置文件:
请求的URL:
物理路径:
登录方式:尚未确定
登录用户:尚未确定
配置源:
-1:
0:


我也遇到了同样的错误,但后来我成功地将网站从IIS中完全删除,并使用不同的名称再次添加


但我仍然不知道背景是什么。

我发现这取决于网站名称的长度。缩短名称使其工作(延长名称使其崩溃)。


我在使用IIS Express时遇到了相同的错误。
我所做的是,将applicationhost.config文件从Documents\IISExpress\config移动到另一个位置,然后在命令提示符下运行IISExpress。

它对我很有用。

当使用IISExpress 7.5作为开发Web服务器时,我遇到了这样一个错误:

HTTP错误500.19-内部服务器错误 无法访问请求的页面,因为该页面的相关配置数据无效

详细错误信息:

模块:iiswebcore

通知:未知

处理者:还没有决定

错误代码:0x80070002

配置错误:无法识别的配置路径“MACHINE/WEBROOT/APPHOST/…”

修复的步骤:

  • 打开“%userprofile%\My Documents\IISExpress\config\applicationhost.config。”
  • 删除所有system.applicationHost/sites/site节点并保存文件
  • 转到web项目的属性页(在VS2010中),然后转到web->servers
  • 选中“使用IIS Express”
  • 设置项目url:(例如
    http://localhost:54230/my-网站
  • 单击“创建虚拟目录”
它现在应该又能工作了

我的根本原因是我试图删除项目url的父应用程序。 它首先被配置为
http://localhost:54230/
,然后我将其更改为
http://localhost:54230/my-网站

这引入了一些类似的配置错误


删除父应用程序会断开应用程序链

在对applicationhost.config文件的站点配置进行了一些更改之后,我发现我遇到了相同的错误。在仔细查看并比较了一些正常工作的站点和其他无法正常工作的站点之后,我注意到我明显地破坏了我的一些站点的父应用程序配置

下面是当我遇到“Unrecognized configuration path”500.19错误时的站点配置示例:

<site name="Peanuts-Site" id="2345">
    <application path="/peanuts" applicationPool="Clr4IntegratedAppPool">
        <virtualDirectory path="/" physicalPath="C:\websites\Peanuts" />
    </application>
    <bindings>
        <binding protocol="http" bindingInformation="*:80:localhost" />
    </bindings>
</site>

下面是我还原已删除的父应用程序后的情况:

<site name="Peanuts-Site" id="2345">
    <application path="/" applicationPool="Clr4IntegratedAppPool">
        <virtualDirectory path="/" physicalPath="C:\Users\firstname.lastname\Documents\My Web Sites\Peanuts-Site" />
    </application>
    <application path="/peanuts" applicationPool="Clr4IntegratedAppPool">
        <virtualDirectory path="/" physicalPath="C:\websites\Peanuts" />
    </application>
    <bindings>
        <binding protocol="http" bindingInformation="*:80:localhost" />
    </bindings>
</site>

当时我还不知道,当指定任何未映射到站点根的应用程序时,IIS Express似乎需要定义映射到站点根的应用程序。再想一想,这个要求毕竟是有道理的


吸取的教训——除非你知道自己在做什么,否则不要过度热衷于修剪。我很高兴我记得我做了什么,以便以后可以修复它。

这发生在我们在新配置的机器上克隆了一个GIT裸机存储库(位于服务器上的文件夹中)之后


我们尝试了@RemcoSchoeman给出的步骤,但没有成功。当我们从项目的根文件夹中删除
.vs
文件夹时,它又开始工作了。

极好的回答-节省了我很多时间:)做了同样的事情。在实际删除配置文件之前,一定要注释掉你想从配置文件中删除的东西,这样如果它坏了,你就可以轻松地回滚更改。这简直是愚蠢。这让你成为了一个天才。非常感谢。