Ho un vecchio progetto Web Form ASP.NET che è necessario aggiungere anche una libreria asincrona. L'ho aggiornato a .NET Framework v4.5.1. Esegue e compila perfettamente con Visual Studio 2013.TaskAwaiter non implementa INotifyCompletion quando si utilizza Visual Studio 2015
Tuttavia, quando lo apro con Visual Studio 2015, non verrà compilato. Ogni chiamata asincrona ha un errore TaskAwaiter does not implement INotifyCompletion
.
Ad esempio, il codice seguente:
public async Task AsyncDelay()
{
await Task.Delay(1);
}
gettare la seguente errore:
CS4027 'TaskAwaiter' does not implement 'INotifyCompletion'
Qualsiasi aiuto a tutti sarebbe apprezzato.
Questo codice non riesce in modo completamente diverso per me: "Test.cs (17,9): l'errore CS1997: Dal 'Test.AsyncDelay()' è un metodo asincrono che restituisce 'Task', una parola chiave return non deve essere seguita da un'espressione dell'oggetto. Hai intenzione di restituire '? Task ''?" Non è del tutto chiaro cosa stai cercando di tornare, per essere onesti. Cosa stai cercando di ottenere? Sarei davvero sorpreso di vedere questa compilazione in qualsiasi scenario. –
@JonSkeet - Mi dispiace, ho corretto il codice sopra. Non intendevo mettere quella dichiarazione di ritorno lì. Noterò anche che quel codice non sta davvero facendo nulla, volevo solo dimostrare che tutte le mie chiamate asincrone sono interrotte. –