VS2022打开本地IIS网站报框架不支持及web.config解析错误如何解决
Visual Studio 2022打开IIS站点报错修复方案
涉及的两个报错对应提示:
- 打开站点时弹出:Target framework is not supported(目标框架不受支持)
- 选择升级到.NET Framework 4.8后弹出:Error parsing the web configuration file at line 1. A document must contain exactly one root element.(第1行web配置文件解析错误,文档必须包含且仅包含一个根元素)
相关报错截图:

修复步骤
第一步:修复web.config结构损坏问题
第二个根元素报错是VS自动升级框架流程的已知bug,会在web.config文件开头写入非法内容破坏XML结构,按以下操作修复:
- 关闭所有Visual Studio窗口,定位到IIS站点对应的物理根目录,找到
web.config文件,用纯文本编辑器(记事本、VS Code均可)打开 - 检查文件第一行到
<configuration>节点之前的所有内容,删除VS自动插入的乱码、重复XML声明、残留升级提示文本,确保文件开头的XML声明后直接跟唯一的根节点<configuration> - 合法的web.config最简结构参考如下,所有站点配置节点必须全部嵌套在
<configuration>根节点内部,不允许存在和<configuration>同级的其他节点:
<?xml version="1.0" encoding="utf-8"?> <configuration> <!-- 自定义配置节点:appSettings、connectionStrings、system.web、system.webServer等全部放在此处 --> </configuration>
- 如果文件损坏严重无法直接修正,可以先新建一个空白的合法web.config文件,再把原有自定义配置逐段迁移进去,保存文件。
第二步:修复目标框架不匹配问题
完成web.config结构修复后,再处理框架版本兼容问题,不要使用VS的自动升级功能,手动修改配置即可:
- 打开Visual Studio Installer,确认已安装**.NET Framework 4.8 开发人员工具包**(注意不是.NET Framework 4.8运行时,仅安装运行时无法被VS识别为支持的目标框架),未安装的话勾选对应组件完成安装后重启VS
- 打开修复好结构的
web.config,找到<system.web>节点下的编译和运行时配置,手动指定目标框架为4.8,参考配置:
<system.web> <compilation debug="true" targetFramework="4.8" /> <httpRuntime targetFramework="4.8" /> <!-- 其余原有system.web节点下的配置保留即可 --> </system.web>
- 保存配置后,重新通过VS2022的「文件/打开/网站」菜单选择IIS站点打开,不会再弹出两类报错。
内容的提问来源于stack exchange,提问作者Awit
相关产品推荐
相关产品推荐

