C# 异步CTP在VS 2010 SP1中不工作?

C# 异步CTP在VS 2010 SP1中不工作?,c#,vb.net,visual-studio-2010,async-ctp,C#,Vb.net,Visual Studio 2010,Async Ctp,我下载并安装在我的开发机器上,它有VS2010和VS2012。安装似乎已成功完成(无错误) 我创建了一个全新的WinForms项目(语言:VB.NET),并用Async装饰了一个表单加载 问题是无法识别Async关键字。是否有人成功地使其工作,以及如何工作 在VS 2012中,瞄准.NET framework 4.5也可以做到这一点 注意:我现在不需要任何Silverlight、Windows Phone甚至Web。根据@Ramhound的建议,我卸载了与VS 2012和2010相关的所有内容,

我下载并安装在我的开发机器上,它有VS2010和VS2012。安装似乎已成功完成(无错误)

我创建了一个全新的WinForms项目(语言:VB.NET),并用
Async
装饰了一个表单加载

问题是无法识别
Async
关键字。是否有人成功地使其工作,以及如何工作

在VS 2012中,瞄准.NET framework 4.5也可以做到这一点


注意:我现在不需要任何Silverlight、Windows Phone甚至Web。

根据@Ramhound的建议,我卸载了与VS 2012和2010相关的所有内容,然后安装了2010+SP1+applied Async CTP3。正确安装的Async CTP3显示欢迎屏幕并提示重新启动。之后VS2010开始支持
async
关键字。但是,为了获得全面支持,需要在此引用相应的库(取决于平台):

在我的例子中,它是
asynctplibrary.dll
。否则它将突出显示语法,但不会编译。

我在和中回答了它,如果不安装.NET 4.5而使用更多C#5.0功能/VS2012(这在Winfows XP中是不可能的)比我对的回答中的
async/await
更重要

请注意,安装了.NET 4.5的计算机上的.NET 4.0与安装了.NET 4.5的.NET 4.0不同
换句话说,你不能。后者独立于您是否安装了扩展

应该不需要这样做


您已经安装了VS2012,它完全支持
async
/
wait
。您可以在底层平台(包括.NET 4.0)上获得
async
/
wait
支持。

我也在一个C#项目中尝试过,它似乎与语言无关。我也尝试过,这告诉您可以通过Nuget在VS 2010上安装async Targeting Pack-无法识别async。我在VS 2012上成功安装了相同的目标软件包。由于VS2012需要安装.NET 4.5,这是对.NET 4.0的就地升级,因此您不太可能安装异步CTP。我很震惊,安装实际上允许安装。@Ramhound:感谢您的反馈。它在我的家庭设置中起作用-请参阅下面我的答案。如果您愿意,您可以发布您的建议作为答案,我将对此进行投票。可能对于使用
async/await
分发您的.NET 4.0应用程序,在未安装.NET 4.5的情况下,了解无需安装
async CTP
(或.NET 4.5)更有用或者在
\Samples
目录中引用dll,但只在项目/应用程序中包含
AsyncCtpLibrary.dll
。在只有VS 2010可用或更首选的情况下(例如,由于VS 2012与WinForms的稳定性问题),
AsyncCtpLibrary
是唯一的方法。然而,当您还安装了VS 2012时,知道有一些选项是很好的。我不知道
Bcl.Async
。谢谢和+1。@Stephen Cleary,根据链接中的文档,Microsoft.Bcl.Async在2010年不受支持
c:\Users\%username%\Documents\Microsoft Visual Studio Async CTP\Samples\