我有一个异步方法。
private static async Task InsertConnectionStatusIntoAzureDatabaseAsync(Device device)
{
...
}
我用
来称呼它await InsertConnectionStatusIntoAzureDatabaseAsync(device).ConfigureAwait(false);
Visual Studio不会建立async method must return void, Task or Task<T>
它也会使InsertConnectionStatusIntoAzureDatabaseAsync(device).ConfigureAwait(false);
行变得曲折:
任务不包含ConfigureAwait()
的定义
文件顶部的用法是
using System.Threading.Tasks;
using System.Threading;
它所针对的.net框架是4.6.1
答案 0 :(得分:6)
您的项目中几乎肯定会有另一个名为Task
的类,它与.Net Framework版本冲突。您可以通过转到Task
类型的定义来查看它,并查看它引导您的位置。因此,要么将您的版本重命名为不同的版本(可能是最佳选项),要么使用完整的命名空间:
private static async System.Threading.Tasks.Task InsertConnectionStatusIntoAzureDatabaseAsync()
{
//snip
}
答案 1 :(得分:2)
您也可以使用命名空间别名,并在方法签名中使用它,如
using task = System.Threading.Tasks;
private static async task.Task InsertConnectionStatusIntoAzureDatabaseAsync(Device device)
{
...
}