未能解析主引用 对框架程序集有间接依赖关系

2022-09-14  乐帮网

.net visual studio

warning MSB3268: 未能解析主引用“Microsoft.Threading.Tasks”,因为它对框架程序集“System.Runtime, Version=1.5.11.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a”有间接依赖关系,而在当前目标框架中未能解析该程序集。“.NETFramework,Version=v4.0”。若要解决此问题,请移除引用“Microsoft.Threading.Tasks”,或将应用程序的目标重新指向包含“System.Runtime, Version=1.5.11.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a”的框架版本。

项目中添加了Microsoft.Threading.Tasks 和System.Runtime,,但System.Runtime的版本是2.6.8.0,编译时vs 输出里面 报上述错 误, 解决办法:在app.config 中添加如下配置

<?xml version="1.0" encoding="utf-8"?>
<configuration>
  <runtime>
    <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
      <dependentAssembly>
        <assemblyIdentity name="System.Runtime" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
        <bindingRedirect oldVersion="0.0.0.0-2.6.8.0" newVersion="2.6.8.0" />
      </dependentAssembly>
      <dependentAssembly>
        <assemblyIdentity name="System.Threading.Tasks" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
        <bindingRedirect oldVersion="0.0.0.0-2.6.8.0" newVersion="2.6.8.0" />
      </dependentAssembly>
      <dependentAssembly>
        <assemblyIdentity name="System.Net.Http" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
        <bindingRedirect oldVersion="0.0.0.0-2.2.29.0" newVersion="2.2.29.0" />
      </dependentAssembly>
    </assemblyBinding>
  </runtime>
</configuration>

以上解决方案是转自:https://www.cnblogs.com/m7777/p/9227940.html

但是我的问题上述办法不能解决问题。以下是我的解决方案,
前提条件:我是使用的.NetFramWork4.0框架,开发工具主VS 2019。

由于.Net Framwork4.0本身是不是支持Task对象操作的,不过可以通过引入Microsoft.Bcl.Async来添加额外的扩展完美支持 Task。但是Microsoft.Bcl.Async已经被标记为放弃状态,不过还可以正常使用。我的解决方案如下:
首先已经安装Microsoft.Bcl.Async了就要先在Nuget中卸载掉,同时还要卸载相关的引用包 Microsoft.Bcl.Build 和 Microsoft.Bcl。
如果之前没有安装则忽略,然后在Nuget上再重新搜索Microsoft.Bcl.Async后添加引用。

经过以上折腾后发现这个错误就消失了,可能 是VS的一个Bug对旧版本的支持不太好。
 

 

公众号二维码

关注我的微信公众号
在公众号里留言交流
投稿邮箱:1052839972@qq.com

庭院深深深几许?杨柳堆烟,帘幕无重数。
玉勒雕鞍游冶处,楼高不见章台路。
雨横风狂三月暮。门掩黄昏,无计留春住。
泪眼问花花不语,乱红飞过秋千去。

欧阳修

付款二维码

如果感觉对您有帮助
欢迎向作者提供捐赠
这将是创作的最大动力