C# 异步方法签名错误。必须返回void、Task或Task<;T>;
我有一个异步方法C# 异步方法签名错误。必须返回void、Task或Task<;T>;,c#,asynchronous,C#,Asynchronous,我有一个异步方法 private static async Task InsertConnectionStatusIntoAzureDatabaseAsync(Device device) { ... } 我称之为使用 await InsertConnectionStatusIntoAzureDatabaseAsync(device).ConfigureAwait(false); VisualStudio将不会生成异步方法必须返回void、Task或Task 它还将行InsertCon
private static async Task InsertConnectionStatusIntoAzureDatabaseAsync(Device device)
{
...
}
我称之为使用
await InsertConnectionStatusIntoAzureDatabaseAsync(device).ConfigureAwait(false);
VisualStudio将不会生成异步方法必须返回void、Task或Task
它还将行InsertConnectionStatusIntoAzureDatabaseAsync(设备)以红色扭曲代码>说:
任务不包含ConfigureAwait()的定义
文件顶部的用法是
using System.Threading.Tasks;
using System.Threading;
它的目标.net framework是4.6.1几乎可以肯定,您的项目中还有另一个名为Task
的类,它与.net framework版本相冲突。您可以通过转到任务
类型的定义来检查这一点,并查看它会将您引向何方。因此,请将您的版本重命名为不同的名称(可能是最好的选择),或者使用完整的名称空间:
private static async System.Threading.Tasks.Task InsertConnectionStatusIntoAzureDatabaseAsync()
{
//snip
}
您还可以使用名称空间别名,并在方法中使用它,如signatire
using task = System.Threading.Tasks;
private static async task.Task InsertConnectionStatusIntoAzureDatabaseAsync(Device device)
{
...
}
你的项目中是否有一个冲突的类,也称为Task
!就这样。有一个类隐藏在247000行文件中,名为Task!如果你把这个作为答案,我会把它标记为正确的。247k行?!我希望这是自动生成的,或者你真的需要做一些重构!