我正在搜索NuGet以找到允许您使用.net 4.0项目的async / await的库。我最初在寻找Async for .NET Framework 4, Silverlight 4 and 5, and Windows Phone 7.5 and 8,但我找到了Async Targeting Pack for Visual Studio 11。
这两个包之间的区别是什么?我应该在什么时候使用哪个?
Async for .NET Framework 4,Silverlight 4和5以及Windows Phone 7.5和8
此软件包支持面向.NET的Visual Studio 2012项目 框架4(使用KB2468871),Silverlight 4和5以及Windows Phone 7.5(包括任何可移植的库组合)使用新的'async'和'await'关键字。该软件包还包括基于任务的 允许使用某些现有异步的扩展方法 具有新语言关键字的API。 Windows Phone 8项目可以使用 这个包可以访问异步扩展方法 网络类型。
Visual Studio 2010不支持此程序包,仅在使用使用此程序包的库时,针对.NET Framework 4.5或.NET for Windows Store应用程序的项目才需要此程序包。有关已知问题,请参阅:http://blogs.msdn.com/b/bclteam/p/asynctargetingpackkb.aspx。
Visual Studio 11的异步定位包
“Visual Studio 11的异步定位包”支持针对.NET Framework的项目 4.0或Silverlight 5使用C#和Visual Basic中的异步语言功能。
此包需要Visual Studio 11,不能与Visual一起使用 Studio 2010。
该软件包包含使用'async'所需的API支持 '等待'C#5.0和Visual Basic 11中的关键字,以及一组 基于任务的适配器API,允许使用一些现有的 具有新语言关键字的异步API。
针对.NET风格应用的.NET Framework 4.5或.NET项目不需要此定位包。只有针对Silverlight 5和.NET Framework 4.0的项目才需要它。不支持早期的平台版本。
答案 0 :(得分:2)
Microsoft.Bcl.Async
取代Microsoft.CompilerServices.AsyncTargetingPack
。目标包留在NuGet中,因此已经使用它的人仍然可以为他们的项目重新下载它。
有关详细信息,请参阅this MSDN article。