如何在.net 4.0中使用async / await? AsyncTargetingPack和Microsoft.Bcl.Async之间的区别?

时间:2012-12-10 09:53:53

标签: c# async-await

我想在C#4.0中使用async / await,直到知道,我已经使用了异步CTP v3,但似乎这是一个糟糕的选择,如果我使用VS2012则更多。

在VS2012中,至少有两个选项,Microsoft.CompilerServices.AsyncTargetingPack和Microsoft.Bcl.Async。

第一个版本,Microsoft.Bcl.Async(Bcl),已经发布晚于AsyncTargetingPack(ATP),但Bcl是测试版。

然而,ATP适用于目标为银光5或.NET 4.0的项目,而Bcl似乎可与银光4,银光5,Windows Phone 7.5和.NET 4.0兼容。

ATP已被弃用?兼容或者它们是不同的实现,如果我使用一个,我总是必须使用相同的吗?

哪个是最佳选择?

1 个答案:

答案 0 :(得分:7)

AsyncTargetingPack has been renamed to Microsoft.Bcl.Async;后者仅仅是前者的更新版本,而不是新的单独实现。在这种情况下,我只是使用最新版本,即使它是预发布版本,以避免以后必须更新到新的NuGet包名称时出现问题。