无法在LINQPad中使用async / await - "无效令牌{在async}之后..."

时间:2014-08-29 02:09:52

标签: c# async-await linqpad

我想尝试“新”async/await(是的,我已经迟到了)所以我启动了LINQPad 4.5.1,这是目前最新的非beta版。切换到“C#程序”并输入以下代码后,无评论;

// "Invalid token 'void' in class, struct, or interface member declaration"
// - But compiles with `async` removed
async void foo () {
}

void Main()
{
    foo();
}

但它......“无法正常工作”。

这个错误似乎表明LINQPad使用的是C#4而不是C#5,尽管该网站确实说“LINQPad支持C#5.0 和Framework 4.x中的所有”和{{3} }。

导致此错误的原因是什么,以及如何解决?

2 个答案:

答案 0 :(得分:1)

嗯,那是......我很傻。当前的机器安装了.NET 4 - 而不是 4.5。

安装.NET 4.5&#34后,它可以运行"。

答案 1 :(得分:1)

即使这不是解决特定问题的方法,对于像我这样的人来说,也可能会很方便,因为他们遇到了Task<T>返回的编译错误类型,因为我错过了使用。在LinqPad上添加它的方法是按F4> Namespace Imports选项卡,然后在列表System.Threading.Tasks的底部添加,然后按Ok

您也可以按Set as default for new queries

将此新列表设置为新查询的默认列表。

Go by shortcut

访问此标签的其他方法是通过顶部菜单Query> Namespace Imports

Go by the query menu