使用Visual Studio 2015时,TaskAwaiter不实现INotifyCompletion

Dal*_*use 9 c# async-await visual-studio-2013 visual-studio-2015

我有一个旧的ASP.NET Web Form项目,我需要添加一个异步库.我已将其升级到.NET Framework v4.5.1.它运行并与Visual Studio 2013完美编译.

但是,当我用Visual Studio 2015打开它时,它不会编译.每个异步调用都有TaskAwaiter does not implement INotifyCompletion错误.

例如,以下代码:

public async Task AsyncDelay()
{
    await Task.Delay(1);
}
Run Code Online (Sandbox Code Playgroud)

抛出以下错误:

CS4027'TaskAwaiter'没有实现'INotifyCompletion'

任何帮助都将不胜感激.

Dal*_*use 14

我终于找到了这个问题.这个nuget包已安装

https://www.nuget.org/packages/Microsoft.CompilerServices.AsyncTargetingPack/1.0.1

那就是支持旧版Visual Studio.我删除了这一切,一切正常.

我在这个上浪费了太多时间......