我想在.net 4.0中创建的项目中使用async关键字。
如果我去nuget.org网站并且我寻找“异步”,我会得到很多结果,但主要是我得到了这个:
Visual Studio Async CTP (Version 3, Unofficial) 0.3.0
两者之间的区别是什么?
答案 0 :(得分:46)
你想要Microsoft.Bcl.Async包。这是一个稳定的正确发布的非CTP包。这也需要VS2012,因为需要更新的编译器来理解async
和await
。
理论上,人们可以使用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/await
和Environment.CurrentManagedThreadId
(.NET 4.5属性),两者都有效。