我有一个通过本地IIS托管的ASP.NET应用程序突然开始抛出web.config错误,说明值无法声明两次。但是,web.config文件没有重复项。在追踪错误一段时间后,似乎IIS正在尝试两次加载web.config文件。
导致这种情况的原因是什么?
答案 0 :(得分:1)
此问题是由IIS中的损坏的ApplicationHost.config文件引起的(通常在C:\ Windows \ System32 \ inetsrv \ Config中) 当我查看该文件时,有一个来自应用程序的孤立条目,该条目先前已通过IIS管理器GUI删除,该GUI已在同一URL上托管。此孤立条目未显示在IIS管理器GUI中,无法以这种方式删除。它指向同一应用程序的先前分支版本,托管在不同的本地文件夹中,并且IIS尝试加载其web.config文件,该文件与实际的web.config文件类似,导致重复错误。
在文本编辑器中手动删除孤立条目并重新启动应用程序池解决了这个问题。