我想在.net 4.0 中创建的项目中使用异步关键字。
如果我去 nuget.org 网站并寻找“异步”,我会得到很多结果,但主要是我得到这个:
Visual Studio Async CTP(版本 3,非官方)0.3.0
他们两者之间的区别是什么?
我想在.net 4.0 中创建的项目中使用异步关键字。
如果我去 nuget.org 网站并寻找“异步”,我会得到很多结果,但主要是我得到这个:
Visual Studio Async CTP(版本 3,非官方)0.3.0
他们两者之间的区别是什么?
您需要Microsoft.Bcl.Async包。这是一个正确发布的、稳定的非 CTP 包。这也需要 VS2012,因为需要更新的编译器才能理解async
和await
.
从理论上讲,可以使用 VS2010 中的旧工具和旧 CTP 库,我强烈建议您不要使用 - 它有错误,而且安装本身就是一个失败者。
我已经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 属性),并且都有效。