Mam stary projekt ASP.NET Web Form, który muszę również dodać do biblioteki asynchronicznej. Zaktualizowałem go do .NET Framework v4.5.1. Działa i kompiluje się idealnie z Visual Studio 2013.TaskAwaiter nie implementuje INotifyCompletion podczas używania Visual Studio 2015
Jednak, gdy otworzę go w Visual Studio 2015, nie będzie się kompilował. Każde wywołanie asynchroniczne ma błąd TaskAwaiter does not implement INotifyCompletion
.
Na przykład, następujący kod:
public async Task AsyncDelay()
{
await Task.Delay(1);
}
Rzuć następujący błąd:
CS4027 'TaskAwaiter' does not implement 'INotifyCompletion'
Każda pomoc w ogóle byłoby mile widziane.
Ten kod nie powiedzie się zupełnie inaczej do mnie: „Test.cs (17,9): error CS1997: Ponieważ 'Test.AsyncDelay()' jest async metoda, która zwraca "Zadanie", słowo kluczowe return nie musi być po wyrażeniu obiektu. Czy masz zamiar zwrócić '' Task ''?" To nie jest wcale jasne, co próbujesz zwrócić, szczerze mówiąc. Co próbujesz osiągnąć? Byłbym bardzo zaskoczony, widząc tę kompilację w dowolnym scenariuszu. –
@JonSkeet - Przepraszam, poprawiłem powyższy kod. Nie chciałem umieścić tam tego oświadczenia zwrotu. Zauważam też, że ten kod tak naprawdę nic nie robi, po prostu chciałem pokazać, że wszystkie moje asynchroniczne połączenia są zepsute. –