記一次 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

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM