配置文件不是格式良好的 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 字符串,所以不得不用 &amp;#038; 转义它

【讨论】:

【参考方案8】:

在我的情况下,只需删除项目目录中的(.vs) 文件夹即可解决问题。 (.vs) 文件夹在 Visual Studio 中构建或打开项目时自动创建。

【讨论】:

以上是关于配置文件不是格式良好的 XML #2的主要内容,如果未能解决你的问题,请参考以下文章

Eclipse导入模板格式Xml配置文件

IIS无法启动报错配置文件的XML格式不正确如何处理

如何使用 xml 配置文件、JAVA、Spring 安全性对 LDAP 用户进行身份验证

配置文件格式用哪个?文件夹+纯文本文件,XML,SQLite

XML可扩展标记语言

idea配置html和javascript的格式化文件?