配置文件不是格式良好的 XML #2
Posted
技术标签:
【中文标题】配置文件不是格式良好的 XML #2【英文标题】:Configuration file is not well-formed XML #2 【发布时间】:2022-01-24 22:30:13 【问题描述】:我正在尝试修复 Windows Server 2008 上的 IIS 7 Web 服务器。我不知道是什么原因导致此配置变坏。关于从哪里开始寻找任何想法?
在 IIS 管理器的对象资源管理器中单击服务器节点时出错。
There was an error when trying to connect. Do you want to retype your credentials and try again?
Details:
Filename:
\\?\C:\Windows\system32\inetsrv\config\applicationHost.config
Line number: 1
Error: Configuration file is not well-formed XML
【问题讨论】:
你试过用浏览器打开这个文件吗? 0KB。似乎已被删除或替换为空白文件。 您可能不需要恢复任何东西,您应该只查看 applicationHost.config 文件或 web.config 并查看哪个文件以某种方式损坏。可能有人手动更新它并使其无效 XML,通常很容易判断您是否在 XML 编辑器中打开并且易于修复。您可以在 c:\inetpub 中找到可能可以恢复的备份文件。另外,请确保您没有被重定向到 Wow64 文件夹并且您位于 windows\system32\inetsrv\config 在 Windows 更新失败导致更新过程中出现 BSOD 之后,我就开始出现这个问题。从历史记录中替换 applicationhost.config 文件(参见下面的解决方案)就是让事情恢复正常所需要的一切。 【参考方案1】:此问题是由于文件 'applicationhost.config' 损坏所致。
此文件的备份存储在C:\inetpub\history\
。
删除损坏的文件C:\Windows\system32\inetsrv\config\applicationhost.config
并从备份中恢复。然后启动\重启IIS。
问题将得到解决。
【讨论】:
【参考方案2】:按照此操作,但不要将“schema”文件夹或“Export”文件夹从历史记录复制到当前文件夹。
http://web.archive.org/web/20130110080607/http://jshidell.com/2012/03/27/fixing-corrupted-applicationhost-config-file-in-iis-7/
更多信息:
我能够重现这个问题!!错误地修改 Web.Config(请参阅下面问题的答案)最终导致了此问题。因为我做了所有这些事情,我不得不从服务器备份中恢复以修复所有内容,因为撤消所有内容太难了。坏坏坏微软!
ASP.NET Generic Handler not getting called after .NET 3.5 to .NET 4.0 upgrade
这个问题与:
https://serverfault.com/questions/525443/how-to-uninstall-iis-from-windows-server-2008/525496#525496
经验教训:在部署 Web 服务器之前,在更改 IIS 7 配置或更改 Web.Config 之前,将内容复制出此文件夹。
C:\Windows\system32\inetsrv\config\
【讨论】:
您可能不需要恢复任何东西,您应该只查看 applicationHost.config 文件或 web.config 并查看哪个文件以某种方式损坏。可能有人手动更新它并使其无效 XML,通常很容易判断您是否在 XML 编辑器中打开并且易于修复。【参考方案3】:这只是发生在我帮助管理员的服务器上。我们正在排除故障,但我们绝对没有在 IIS 中更改任何会修改配置文件的内容……它只是变成了空的(0 字节)。现在正在调查最近的补丁是否可能导致它。
【讨论】:
有趣!警告。如果您在 Windows Server 上卸载 IIS 7,它可能无法正常工作。我无法在 Windows Server 上卸载它!它确实会在 Windows 7 上卸载。因此,如果您尝试这种方法,请让您的服务器人员为您修复的服务器制作虚拟机的快照,然后再进行任何修复问题的工作。感谢分享。 +1 总是让我们保持谦虚。【参考方案4】:只需从该位置删除文件 applicationHost.config 并重新加载项目。它会在重新加载项目时自动创建新的 applicationHost.config 文件。
【讨论】:
【参考方案5】:由于在导入配置后最近更改了用户密码,遇到了类似的问题。
尝试连接时出错。您想重新输入您的凭据并重试吗? 文件名:C:\Windows\Microsoft.NET\Framework64\v2.0.50727\CONFIG\machine.config
解决方案是在 C:\Windows\System32\inetsrv\config 中的 redirection.config 文件中将启用从 true 更改为 false。
<configurationRedirection enabled="false"
更多细节在这里: http://blogs.iis.net/wonyoo/shared-configuration-and-password-expiration
【讨论】:
【参考方案6】:在我的情况下,这是因为 web.config 的某些行包含带有 ç 或 ã 等字符的 cmets。
使用 Notepad++ 将文件从 ANSI 转换为 UTF-8 编码解决了这个问题。
【讨论】:
【参考方案7】:原来是一个不允许的 & in 字符串,所以不得不用 &#038;
转义它
【讨论】:
【参考方案8】:在我的情况下,只需删除项目目录中的(.vs)
文件夹即可解决问题。
(.vs) 文件夹在 Visual Studio 中构建或打开项目时自动创建。
【讨论】:
以上是关于配置文件不是格式良好的 XML #2的主要内容,如果未能解决你的问题,请参考以下文章
如何使用 xml 配置文件、JAVA、Spring 安全性对 LDAP 用户进行身份验证