C# 我怎样才能解决这个问题;不包含';GetWaiter'&引用;错误?

C# 我怎样才能解决这个问题;不包含';GetWaiter'&引用;错误?,c#,asynchronous,C#,Asynchronous,我无法让异步等待调用正常工作。我收到一条错误消息,上面写着。。。不包含“GetAwaiter”的定义…。这是我的密码: private async Task<IList<MyType>> Load() { SqlInsightDbProvider.RegisterProvider(); using (var conn = new SqlConnection("connString")) { //compiler error here

我无法让异步等待调用正常工作。我收到一条错误消息,上面写着
。。。不包含“GetAwaiter”的定义…
。这是我的密码:

private async Task<IList<MyType>> Load()
{
    SqlInsightDbProvider.RegisterProvider();
    using (var conn = new SqlConnection("connString"))
    {
        //compiler error here
        return await conn.QuerySqlAsync<MyType>("SELECT * FROM tbl");
    }
}
我没有使用async await的经验,我认为这将是一个很好的、不做作的示例,我可以用来熟悉它。我认为像数据库调用这样的I/O操作是何时使用async await的一个典型示例。我已经在StackOverflow上搜索了如何解决这个问题,但我一定不理解我找到的答案


编辑:下面是我收到的错误消息:
error CS1061:“Task”不包含“GetAwaiter”的定义,并且找不到接受“Task”类型的第一个参数的扩展方法“GetAwaiter”(是否缺少using指令或程序集引用?

答案是在我的项目中包含此包:

Install-Package Microsoft.Bcl.Async

我需要这个,因为我正在使用.Net 4.0。

错误消息中的
到底是什么?请在您的问题中发布准确的错误消息。@JonSkeet我刚刚添加了错误消息。@JonSkeet您一定是在谈论安装包Microsoft.Bcl.Async。我运行了它,代码生成了!谢谢(也许它不是为我在4.5/4.6中构建的,因为我引用了其他一些使用4.0的库?)是的,那就是一个-但老实说,我建议改为.NET 4.6。。。要吸取的一个教训是:当提出问题时,如果您使用的是几年前被取代的平台版本,请在问题中提及它。。。(不,这些引用可能是不相关的——我怀疑这只是一个没有彻底清理的问题。)如果您真的很高兴运行不受支持的代码。。。看见
Install-Package Microsoft.Bcl.Async