c# - async/await 关键字在 .net 4.0 中不可用

标签 c# async-await

我想在 C# 4.0 中使用 async/await 并且我已经安装了以下包:

http://www.nuget.org/packages/Microsoft.Bcl.Async/

问题是我没有可用的 async/await 关键字。

我正在使用带有 SP1 的 VS2010。

谢谢。

最佳答案

您不会得到比 Jon Skeet's 更好的答案.

唯一支持的方法是将 VS2012Microsoft.Bcl.Async 一起使用。

VS2010 很难使用async/await。有一个旧的 Async CTP 包(其中有许多错误从未被修复)充当 VS2010 的“附加组件”/“部分替换”。但是,该程序包从未与 VS2010 更新配合使用。因此,您必须首先找到一个旧 CTP 安装程序的版本,尝试安装 一些 VS 更新,然后查看 CTP 是否工作。如果您已经安装了所有 VS2010 更新,那么任何版本的 CTP 都将无法运行。我认为一旦您找到可以安装工作 CTP 的更新情况,然后您就可以安装其他更新。

完成所有这些工作后,您仍然会得到一个充满错误(并且绝对未优化)的 async 实现。

或者,您可以按照 Jon Skeet 的建议下载带有 Microsoft.Bcl.Async 的免费 VS2012 Express 版本,并获得完全支持的解决方案。

关于c# - async/await 关键字在 .net 4.0 中不可用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19423251/

相关文章:

c# - 如何将.Net3.5 dll 添加到.Net2.0 工程中?

c# - 应用程序调用了为不同线程编码的接口(interface)。 (来自 HRESULT : 0x8001010E (RPC_E_WRONG_THREAD)) 的异常

javascript - 在开始下一个函数之前等待一个函数的结束

c# - Task.WaitAll 不等待任务完成

c# - Entity Framework + 生命周期 + StructureMap + 工作单元 + Windows 窗体?

c# - 将网站从 http 重定向到 https

c# - 使用 LINQ 进行过滤

node.js - Express 中间件无法捕获 async/await 抛出的错误,但为什么呢?

Javascript 异步等待代码执行顺序

c# - 为什么HttpClient在请求成功后会抛出异常?