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

使用MapHttpRoute扩展方法遇运行时异常,Web.config存在程序集映射,求助

解决Web.config中已存在依赖程序集映射的MapHttpRoute异常

我之前也碰到过这个和ASP.NET WebApi 5.2.4相关的棘手问题,重装NuGet包确实解决不了——核心问题是Web.config里重复的程序集绑定配置引发了冲突,试试下面这些实操步骤:

  • 检查并清理Web.config的节点
    打开项目的Web.config,定位到<runtime>下的<assemblyBinding>节点,搜索和System.Web.Http、Microsoft.AspNet.WebApi相关的<dependentAssembly>配置。如果发现同一个程序集出现多组绑定配置,删掉多余的,只保留一组匹配5.2.4版本的正确配置,示例如下:

    <dependentAssembly>
      <assemblyIdentity name="System.Web.Http" publicKeyToken="31bf3856ad364e35" culture="neutral" />
      <bindingRedirect oldVersion="0.0.0.0-5.2.4.0" newVersion="5.2.4.0" />
    </dependentAssembly>
    <dependentAssembly>
      <assemblyIdentity name="Microsoft.AspNet.WebApi.Core" publicKeyToken="31bf3856ad364e35" culture="neutral" />
      <bindingRedirect oldVersion="0.0.0.0-5.2.4.0" newVersion="5.2.4.0" />
    </dependentAssembly>
    
  • 统一NuGet包版本
    打开NuGet包管理器,查看所有已安装的包,确保Microsoft.AspNet.WebApi、Microsoft.AspNet.WebApi.Core、Microsoft.AspNet.WebApi.WebHost这些核心包的版本完全一致(都是5.2.4),避免混合不同版本引发的隐性冲突。如果有版本不一致的,统一升级或降级到5.2.4。

  • 彻底清理并重新生成项目
    做完上面的操作后,右键项目选择清理,然后手动删除项目目录下的bin和obj文件夹,最后重新生成整个解决方案。这一步能彻底清除旧的编译残留文件,避免冲突程序集干扰。

  • 排查子目录的Web.config
    如果是Web应用项目,别忘了检查子目录里是否存在额外的Web.config文件——这些文件里的程序集绑定配置也可能和根目录的配置冲突。如果发现重复的<assemblyBinding>节点,直接删除即可。

如果以上步骤都无效,可以尝试彻底卸载所有WebApi相关包后重新安装:

Uninstall-Package Microsoft.AspNet.WebApi -Force
Uninstall-Package Microsoft.AspNet.WebApi.Core -Force
Uninstall-Package Microsoft.AspNet.WebApi.WebHost -Force

然后重新安装指定版本:

Install-Package Microsoft.AspNet.WebApi -Version 5.2.4

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.20 09:09:39