Здравствуйте!
Следующая ситуация. Приходится восстанавливать последнюю версию исходников по бинарникам и предыдущей версии исходиков.
На Reflector сделал проект, исправил большую часть ошибок, но не понимаю как исправить ошибку
на строке
await connection.Start();
Error: Error 5 Cannot await 'System.Threading.Tasks.Task'
Полный код класса
using System;
using System.Threading.Tasks;
using System.Windows;
using Microsoft.AspNet.SignalR.Client;
namespace NewLauncher.Extension.Features.Hub
{
public class HubClient
{
private IHubProxy hubProxy;
public async Task RunAsync(string url, Action<string> refreshAction)
{
var connection = new HubConnection(url);
hubProxy = connection.CreateHubProxy("DemoHub");
hubProxy.On("hubMessage", refreshAction);
await connection.Start();
}
}
}
В старом коде он комплировался успешно.
Есть еще ряд аналогичных ошибок.
Cannot await 'System.Threading.Tasks.Task<System.Net.Http.HttpResponseMessage>'
Cannot await 'System.Threading.Tasks.Task<NewLauncher.Entities.NewsModel[]>'
Предполагаю, что проблема где-то с настройками проекта или его зависимостей. Просто мне недостаточно понимания await в данном случае.
Спасибо.
x1>Здравствуйте, Qbit86, Вы писали:
Q>>Погугли по коду ошибки. Убедись, что target framework 4.5, а не 4.0.
x1>Там очень странно. Framework выставлен везде 4.0, в том числе в старых исходниках, и, я так понимаю вручную,
Использование async/await некорректно в версиях .NET Framework ниже 4.5.
Вероятно, можно извратиться и скомпилировать (да и самому реализовать на ContinueWith), но по факту ничего хорошего из этого не выйдет.
http://stackoverflow.com/questions/14176028/why-does-logicalcallcontext-not-work-with-async
Здравствуйте, LWhisper, Вы писали:
LW>Вероятно, можно извратиться и скомпилировать (да и самому реализовать на ContinueWith), но по факту ничего хорошего из этого не выйдет.
https://www.nuget.org/packages/Microsoft.Bcl.Async... << RSDN@Home 1.0.0 alpha 5 rev. 0 on Windows 8 6.2.9200.0>>