19

当新的 async 和 await 功能上线时,我可以在 Visual Studio 2010 中使用它们,还是需要 Visual Studio?

我要问的是:微软会在 VS 2010 和 VS 11 之间保持语言功能对等吗?CTP 是一个预览版,无论是否可靠,我们的客户不希望我们使用被认为不完整或未经测试的技术 - 所以尽管获得了许可,但我无法使用它。

我的雇主没有购买 VS 11,所以我需要知道我是否在浪费时间使用 async 和 await 编写代码。

4

5 回答 5

13

现在,异步 CTP 允许您使用 Visual Studio 2010 中的新语法awaitsasync语法。语言团队在演示新功能时为当前版本的 Visual Studio 提供 CTP 是很常见的。这是让开发人员进行试验并向语言团队提供反馈的好方法。

但是,对于最终版本,新语言功能通常仅可用于下一版本的 Visual Studio(在本例中为 Dev11)。它们不会反向移植到以前版本的 Visual Studio。

当前版本和下一个最终版本中的这种 CTP 模式在 LINQ 之前已经发生过。几乎可以肯定会重复awaits

于 2012-04-06T15:27:51.710 回答
10

只需安装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 并不能从我的尝试中真正奏效)

于 2012-04-06T15:24:13.253 回答
1

您可以在 2010 年使用它们。我在 2010 年运行了开发人员预览版,没有出现任何问题。然而,Resharper 无法识别这些关键字,但他们已经(或将要)在以后的版本中对其进行补救。

于 2012-04-06T15:24:00.777 回答
0

由于变化的范围,这意味着不可能将其作为正式版本回到 VS2010。

不过,正如其他人评论的那样,您可以很好地使用 CTP。但是,如果您担心它受到官方支持,那几乎肯定意味着使用 VS11(Beta 版具有上线许可证,FWIW)

于 2012-04-06T15:25:42.953 回答
0

据我了解,新功能将成为 C# 5.0 的一部分。根据框架和编程语言的过去版本,它们可以与通常与此一起发布的新工作室版本一起使用。

然而,在过去,我们已经能够通过引用包含它们的库来使用更新的 C# 功能,因此这可能通过引用所需的东西成为可能。

于 2012-04-06T15:27:03.177 回答