记一次 Microsoft.Bcl.Async 使用经验

起因:

  由于公司项目使用场景存在很多的XP环境,导致使用.NET Framework版本不能大于4.0版本。最近开发新功能时;从nuget上下载一个开源dll(该dll 4.0 版本依赖 Microsoft.Bcl.Async 项目 )。本地编译很开心轻松编译通过,提交项目后同事编译后各种报错。就开启后续系列旅程。

  

  过程问题 

   1、同事环境编译失败总是报错。

   

      最终排查出引用的依赖dll提交到TFS中文件不是对应使用版本的(.NET 4.0版本)

  2、编译成功后项目引用后编译引用项目报错。

   

    该问题根据提示需要对相关项目了解

解决办法:

  由于对Microsoft.Bcl.Async 不了解,那么首先对该项目进行了相关了解: 

   稳定版本发布:https://docs.microsoft.com/en-us/archive/blogs/bclteam/microsoft-bcl-async-is-now-stable 

   该包允许开发者在.NET 4、Silverlight 4和Windows Phone 7.5使用C# 5和VB中的异步特性。该包由三个库组成:Microsoft.Bcl、Microsoft.Bcl.Async和Microsoft.Bcl.Build。由于使用了程序集统一的方式,解决方案中的所有工程都必须引用这三个库。

  通过了解得到:

  1、Microsoft.Bcl.Async支持在.NET Framework4.0中可以使用async/await,而不需要把项目更改为 4.5版本.

  2、.NET Framework 4需要带有KB2468871补丁

  3、引用依赖Microsoft.Bcl.Async项目的dll时,需要将Microsoft.Bcl,Microsoft.Bcl.Async和Microsoft.Bcl.Build的引用添加到上述警告的项目

总结:

  1、在项目引用DLL时,一定要细心检查引用DLL的版本(非Nuget包管理方式)

   2、引用依赖Microsoft.Bcl.Async项目的程序集时,需要再该项目也添加Microsoft.Bcl、Microsoft.Bcl.Async和Microsoft.Bcl.Build三个库引用。  

引用:

  https://www.cnblogs.com/shanyou/archive/2013/04/27/3048181.html?utm_source=tuicool&utm_medium=referral

  https://docs.microsoft.com/en-us/archive/blogs/bclteam/microsoft-bcl-async-is-now-stable

原文地址:https://www.cnblogs.com/cwsheng/p/13341794.html