当新的 async 和 await 功能上线时,我可以在 Visual Studio 2010 中使用它们,还是需要 Visual Studio?
我要问的是:微软会在 VS 2010 和 VS 11 之间保持语言功能对等吗?CTP 是一个预览版,无论是否可靠,我们的客户不希望我们使用被认为不完整或未经测试的技术 - 所以尽管获得了许可,但我无法使用它。
我的雇主没有购买 VS 11,所以我需要知道我是否在浪费时间使用 async 和 await 编写代码。
当新的 async 和 await 功能上线时,我可以在 Visual Studio 2010 中使用它们,还是需要 Visual Studio?
我要问的是:微软会在 VS 2010 和 VS 11 之间保持语言功能对等吗?CTP 是一个预览版,无论是否可靠,我们的客户不希望我们使用被认为不完整或未经测试的技术 - 所以尽管获得了许可,但我无法使用它。
我的雇主没有购买 VS 11,所以我需要知道我是否在浪费时间使用 async 和 await 编写代码。
现在,异步 CTP 允许您使用 Visual Studio 2010 中的新语法awaits
和async
语法。语言团队在演示新功能时为当前版本的 Visual Studio 提供 CTP 是很常见的。这是让开发人员进行试验并向语言团队提供反馈的好方法。
但是,对于最终版本,新语言功能通常仅可用于下一版本的 Visual Studio(在本例中为 Dev11)。它们不会反向移植到以前版本的 Visual Studio。
当前版本和下一个最终版本中的这种 CTP 模式在 LINQ 之前已经发生过。几乎可以肯定会重复awaits
只需安装Async CTP,在项目中引用 dll 即可使用 async 和 await。或者安装 VS11 并直接与 .Net 4.5 一起使用。如果您想尽快在生产中使用它,我会选择第一个选项。
编辑:对于仍在查找此内容的任何人。如果此时您仍然有一个 .Net 4.0 应用程序并且想要使用 .Net 4.5 的所有异步功能,那么有一个名为Microsoft Async的 Nuget 包。你只需要至少有 Visual Studio 2012。有了这个包,当你已经有 VS2012 时,你就不必费心安装 Async CTP。(此外,与 VS2012 并排安装 Async CTP 并不能从我的尝试中真正奏效)
您可以在 2010 年使用它们。我在 2010 年运行了开发人员预览版,没有出现任何问题。然而,Resharper 无法识别这些关键字,但他们已经(或将要)在以后的版本中对其进行补救。
由于变化的范围,这意味着极不可能将其作为正式版本回到 VS2010。
不过,正如其他人评论的那样,您可以很好地使用 CTP。但是,如果您担心它受到官方支持,那几乎肯定意味着使用 VS11(Beta 版具有上线许可证,FWIW)
据我了解,新功能将成为 C# 5.0 的一部分。根据框架和编程语言的过去版本,它们可以与通常与此一起发布的新工作室版本一起使用。
然而,在过去,我们已经能够通过引用包含它们的库来使用更新的 C# 功能,因此这可能通过引用所需的东西成为可能。