Hi,请  登录  或  注册

NET Framework 4.6.1 导致“/ 应用程序中的服务器错误”解决教程(抓包接口/后台页面常见坑)

你这个报错本质就一句话:网站(ASP.NET)在 web.config 里声明要跑 .NET Framework 4.6.1,但服务器实际只装到了 4.5.1 或更低,于是 IIS 编译阶段直接挂掉,前端就表现成“网络异常 404 / 是否重试”,抓包里对应接口返回的是配置错误页。

NET Framework 4.6.1 导致“/ 应用程序中的服务器错误”解决教程(抓包接口/后台页面常见坑)


1)先看懂报错在说什么

你截图里的关键句是:

  • Web.config 文件的 <compilation> 元素中的 “targetFramework” 特性... 当前引用的版本高于已安装的 .NET Framework 版本
  • 源错误行:<compilation debug="true" targetFramework="4.6.1">

翻译成人话:
程序要求 4.6.1,你机器没装,所以 IIS 无法编译运行。

NET Framework 4.6.1 导致“/ 应用程序中的服务器错误”解决教程(抓包接口/后台页面常见坑)


2)两种解决路线:装高版本 or 降级配置

路线A:在服务器上安装 .NET Framework 4.6.1(推荐)

适合:你不想动程序文件,只想一次装好,后面也省事。

做法(Windows Server):

  1. 远程到服务器(RDP)。
  2. 打开“程序和功能”里看看有没有 .NET Framework 4.6.1/4.7/4.8(装更高也行,一般 4.8 最省心)。
  3. 没有就安装对应版本,装完重启 IIS(不放心就重启服务器)。

IIS 重启命令(管理员 CMD):

iisreset

装完后再访问一次你的 .../AjaxToDo/GameSwitchConfig.aspx,正常情况下就不会再出那页红字。


路线B:不装新版本,直接把程序“降级到你机器现有版本”(你截图就是这么做的)

适合:服务器环境固定、没权限装组件、或者你就想快速让页面跑起来。

你已经定位到文件了:

NET Framework 4.6.1 导致“/ 应用程序中的服务器错误”解决教程(抓包接口/后台页面常见坑)

操作步骤:

  1. 找到程序目录下的 Web.config
  2. 搜索 targetFramework,你会看到类似:
    <compilation debug="true" targetFramework="4.6.1">
    
  3. 4.6.1 改成你服务器实际安装的版本,比如你截图里是 4.5.1
    <compilation debug="true" targetFramework="4.5.1">
    
  4. 保存后,回收应用程序池 或直接 iisreset

注意:有的项目不止一处,除了 <compilation>,还可能有:

<httpRuntime targetFramework="4.5" />

这种也要跟着统一,不然会出现“改了还不行”的情况。


3)确认服务器到底装了哪个 .NET(别靠猜)

最稳的方法:查注册表 Release 值(适用于 4.5+)。

管理员 PowerShell:

Get-ItemProperty "HKLM:\SOFTWARE\Microsoft\NET Framework Setup\NDP\v4\Full" | Select-Object Release

如果你只想确认“有没有 v4 Full”,也可以:

Test-Path "HKLM:\SOFTWARE\Microsoft\NET Framework Setup\NDP\v4\Full"

4)IIS 也要对上:应用程序池别配错

有时候你改了 web.config 还是报错,原因是 IIS 应用池设置不匹配。

检查点:

  1. IIS 管理器 → 应用程序池 → 你的站点对应的池 → 基本设置
  2. .NET CLR 版本:一般选 v4.0(不是 4.0 框架版本的意思,是 CLR v4)
  3. 托管管道模式:经典/集成都行,但项目一般用集成
  4. 改完后:回收应用程序池 / 重启站点

5)为什么前端提示“网络异常404”但浏览器看到是“配置错误”?

这是前端常见写法:
接口请求失败(500/配置错误页/HTML错误页)→ 前端统一当成“网络异常/404”弹窗处理。
所以你在 DevTools 的 Network 里看到的并不是真 404 文件不存在,而是 接口返回了一整页 IIS 配置错误 HTML

NET Framework 4.6.1 导致“/ 应用程序中的服务器错误”解决教程(抓包接口/后台页面常见坑)
NET Framework 4.6.1 导致“/ 应用程序中的服务器错误”解决教程(抓包接口/后台页面常见坑)


6)一条经验:改版本前先想清楚“程序依赖”

如果程序确实用到了 4.6.1 才有的库/语法,强行改成 4.5.1 可能会引出新错误(比如缺方法、缺程序集)。
所以我一般建议优先用路线A:直接装 4.6.1 或 4.8,改配置属于“不得已的急救”。

 

 

文章名称:NET Framework 4.6.1 导致“/ 应用程序中的服务器错误”解决教程(抓包接口/后台页面常见坑)
除非特别注明,本站所有文章均为原创,转载请注明出处:264玫瑰资源库
部分教程资源来源于互联网,请谨慎辨别广告内容,避免上当受骗!

评论 抢沙发

登录

找回密码

注册