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

Álv*_*cía 5 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是beta.

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

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

哪个是最好的选择?

小智 7

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