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

移除Microsoft.AspNetCore.Http.Abstractions引用后仍遇版本冲突错误求助

程序集版本冲突问题的排查与解决
  • 检查间接依赖
    运行dotnet list package --include-transitive命令,查看SharedKernel项目的所有间接依赖,定位是哪个依赖项引入了Microsoft.AspNetCore.Http.Abstractions 9.0.0.0。也可以在Visual Studio中右键项目→管理NuGet包→切换到“已安装”标签,勾选“包括预发布”和“显示所有版本”,查看完整依赖树。

  • 清理项目文件残留引用
    直接打开SharedKernel的.csproj文件,搜索是否存在残留的<PackageReference Include="Microsoft.AspNetCore.Http.Abstractions"或<Reference Include="Microsoft.AspNetCore.Http.Abstractions"节点,如有则删除。同时检查是否有<FrameworkReference>节点,某些ASP.NET Core框架会自动引入该程序集,可根据项目需求调整框架版本。

  • 配置绑定重定向
    查看主应用的web.config或app.config文件,添加或更新针对Microsoft.AspNetCore.Http.Abstractions的绑定重定向,强制统一版本:

    <dependentAssembly>
        <assemblyIdentity name="Microsoft.AspNetCore.Http.Abstractions" publicKeyToken="adb9793829ddae60" culture="neutral" />
        <bindingRedirect oldVersion="0.0.0.0-9.0.0.0" newVersion="2.3.0.0" />
    </dependentAssembly>
    

    若为.NET Core/.NET 5+项目,可在.csproj中添加以下配置自动生成绑定重定向:

    <PropertyGroup>
        <AutoGenerateBindingRedirects>true</AutoGenerateBindingRedirects>
        <GenerateBindingRedirectsOutputType>true</GenerateBindingRedirectsOutputType>
    </PropertyGroup>
    
  • 清除全局NuGet缓存
    执行dotnet nuget locals all --clear清除本地NuGet缓存,避免残留的旧版本包干扰。也可手动删除%USERPROFILE%\.nuget\packages路径下的Microsoft.AspNetCore.Http.Abstractions相关文件夹。

  • 检查程序集清单与属性
    右键SharedKernel生成的.dll文件→属性→详细信息,查看“引用的程序集”列表是否仍包含Microsoft.AspNetCore.Http.Abstractions 9.0.0.0。也可使用ILDasm工具打开.dll文件,查看清单中的程序集引用,确认是否存在该依赖。若为发布后的文件,检查.deps.json文件,里面会列出所有依赖的程序集版本信息。

  • 统一跨项目依赖版本
    确认引用SharedKernel的主应用或其他项目,是否直接引用了Microsoft.AspNetCore.Http.Abstractions 2.3.0.0,导致版本冲突。建议统一所有项目的该包版本,要么全部升级到9.0.0.0(需确认兼容性),要么降级SharedKernel的间接依赖版本至2.3.0.0。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.12 14:50:01