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

无法加载System.Threading.Tasks.Extensions程序集,多种尝试仍未解决

解决System.Threading.Tasks.Extensions程序集版本不匹配问题

问题描述

无法加载文件或程序集System.Threading.Tasks.Extensions, Version=4.2.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51或其依赖项,找到的程序集清单定义与程序集引用不匹配。

已尝试操作

  • 在App.config中添加绑定重定向配置:
    <dependentAssembly>
        <assemblyIdentity name="System.Threading.Tasks.Extensions" publicKeyToken="cc7b13ffcd2ddd51" culture="neutral" />
        <bindingRedirect oldVersion="0.0.0.0-4.2.0.1" newVersion="4.2.0.1" />
    </dependentAssembly>
    
  • 在packages.config中添加包引用:
    <package id="System.Threading.Tasks.Extensions" version="4.5.3" targetFramework="net48" developmentDependency="true" />
    
  • 在.csproj文件中添加程序集引用:
    <Reference Include="System.Threading.Tasks.Extensions, Version=4.2.0.1, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
      <SpecificVersion>False</SpecificVersion>
      <HintPath>..\..\..\Users\admin\Downloads\packages\packages\System.Threading.Tasks.Extensions.4.5.4\lib\net461\System.Threading.Tasks.Extensions.dll</HintPath>
    </Reference>
    
    同时Web项目已同步上述所有配置,但异常仍存在。

额外排查与解决步骤

  1. 调整绑定重定向范围
    报错指向4.2.0.0版本,若本地实际引用的是4.5.4版本的DLL,修改绑定重定向覆盖完整版本区间:

    <dependentAssembly>
        <assemblyIdentity name="System.Threading.Tasks.Extensions" publicKeyToken="cc7b13ffcd2ddd51" culture="neutral" />
        <bindingRedirect oldVersion="0.0.0.0-4.5.4.0" newVersion="4.5.4.0" />
    </dependentAssembly>
    

    注意右键查看本地DLL属性→详细信息,确认文件版本与程序集版本一致。

  2. 重置NuGet包

    • 打开NuGet包管理器控制台,执行:
      Update-Package -reinstall System.Threading.Tasks.Extensions
      
    • 删除解决方案下的packages文件夹,右键解决方案→还原NuGet包。
  3. 确认Web项目配置正确性
    Web项目的绑定重定向必须放在configuration/runtime/assemblyBinding节点下,检查publicKeyToken拼写、大小写是否完全匹配。

  4. 清理全局程序集缓存(GAC)
    以管理员身份打开命令提示符,先查询GAC中的对应版本:

    gacutil /l System.Threading.Tasks.Extensions
    

    若存在4.2.0.0版本,执行删除命令:

    gacutil /u System.Threading.Tasks.Extensions,Version=4.2.0.0,PublicKeyToken=cc7b13ffcd2ddd51
    
  5. 确保DLL复制到输出目录
    在csproj的Reference节点中添加<Private>True</Private>,确保编译时DLL被复制到bin目录:

    <Reference Include="System.Threading.Tasks.Extensions, Version=4.2.0.1, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
      <SpecificVersion>False</SpecificVersion>
      <HintPath>..\..\..\Users\admin\Downloads\packages\packages\System.Threading.Tasks.Extensions.4.5.4\lib\net461\System.Threading.Tasks.Extensions.dll</HintPath>
      <Private>True</Private>
    </Reference>
    

    编译后查看输出目录的DLL版本是否与重定向版本一致。

  6. 排查第三方依赖链
    使用ILSpy等工具分析项目引用的第三方库,确认是否有库硬编码引用4.2.0.0版本的System.Threading.Tasks.Extensions。若有,更新该第三方库到兼容版本,或为其添加对应绑定重定向。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.21 11:50:11