如何在项目targets.net 4.0中使用async关键字

时间:2013-10-17 08:38:47

标签: asynchronous .net-4.0 c#-5.0 async-await

我想在.net 4.0中创建的项目中使用async关键字。

如果我去nuget.org网站并且我寻找“异步”,我会得到很多结果,但主要是我得到了这个:

Visual Studio Async CTP (Version 3, Unofficial) 0.3.0

AsyncAwaitCTP 1.0.0

两者之间的区别是什么?

2 个答案:

答案 0 :(得分:46)

你想要Microsoft.Bcl.Async包。这是一个稳定的正确发布的非CTP包。这也需要VS2012,因为需要更新的编译器来理解asyncawait

理论上,人们可以使用VS2010中较旧的工具以及较旧的CTP库,我强烈建议您不要 - 它有错误,安装本身就是一个命中注定。

答案 1 :(得分:1)

我已经使用async为.NET 4.0应用程序编写了一个.NET 4.5插件,令我惊讶的是这确实有效!

我认为这是有效的,因为我安装了.NET 4.5,它将.NET 4运行时替换为更新版本,用于.NET 4.0和.NET 4.5。然后我的插件使用Assembly.Load(...)或类似的方式加载了反射。我尝试了async/awaitEnvironment.CurrentManagedThreadId(.NET 4.5属性),两者都有效。