You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

.NET Framework 4.8升级:无需修改web.config解决System.Net.Http绑定错误

无需修改web.config解决.NET Framework 4.8升级后的System.Net.Http绑定冲突

核心原因

这个错误源于.NET Framework 4.8自带的System.Net.Http版本为4.0.0.0,而你的站点之前通过绑定重定向指定使用2.2.29.0版本,导致程序集绑定冲突,无法找到正确的方法实现。

无需逐个修改web.config的解决方案

1. 配置全局程序集绑定重定向(Machine.config)

通过修改服务器的Machine.config,添加全局绑定规则,对所有.NET Framework 4.x站点生效:

  • 找到对应路径:
    • 32位系统:C:\Windows\Microsoft.NET\Framework\v4.0.30319\Config\Machine.config
    • 64位系统:C:\Windows\Microsoft.NET\Framework64\v4.0.30319\Config\Machine.config
  • 在<runtime>节点内添加以下配置:
<dependentAssembly>
  <assemblyIdentity name="System.Net.Http" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
  <bindingRedirect oldVersion="0.0.0.0-2.2.29.0" newVersion="4.0.0.0" />
</dependentAssembly>

注意:此操作会影响服务器上所有.NET 4.x应用,需先在测试环境验证兼容性。

2. 启用.NET Framework 4.8自动绑定重定向

从.NET Framework 4.7开始,系统支持自动绑定重定向,无需手动配置规则:

  • 确认站点项目已将目标框架设置为.NET Framework 4.8
  • 检查web.config中是否存在禁用配置:若有<autoGenerateBindingRedirects enabled="false" />,改为true或直接删除该节点

自动绑定重定向会在运行时自动解决版本冲突,优先使用系统自带的兼容版本。

3. 脚本批量修改web.config(替代手动操作)

如果全局方案不可行,可通过PowerShell脚本批量处理所有站点的web.config:

$sitesRoot = "C:\inetpub\wwwroot" # 替换为你的站点根目录
$configFiles = Get-ChildItem -Path $sitesRoot -Filter "web.config" -Recurse

foreach ($file in $configFiles) {
    $xmlContent = [xml](Get-Content $file.FullName)
    $nsManager = New-Object System.Xml.XmlNamespaceManager($xmlContent.NameTable)
    $nsManager.AddNamespace("asm", "urn:schemas-microsoft-com:asm.v1")
    
    $targetNode = $xmlContent.SelectSingleNode("//asm:dependentAssembly[asm:assemblyIdentity/@name='System.Net.Http']", $nsManager)
    if ($targetNode -ne $null) {
        $redirectNode = $targetNode.SelectSingleNode("asm:bindingRedirect", $nsManager)
        $redirectNode.SetAttribute("newVersion", "4.0.0.0")
        $xmlContent.Save($file.FullName)
        Write-Host "已更新配置文件: $($file.FullName)"
    }
}

执行前务必备份所有web.config,先在预生产环境完成测试。

验证步骤

无论采用哪种方案,升级后需:

  • 重启对应应用池
  • 访问站点确认错误消失
  • 检查应用日志,确保无其他程序集绑定警告

内容的提问来源于stack exchange,提问作者Ris

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.25 08:07:42