Как использовать async с Visual Studio 2010 and.NET 4.0?
Я хочу добавить поддержку async в текущий проект VS 2010 .NET 4.0 c#
Я нашел:
- Visual Studio Async CTP -http://www.microsoft.com/en-us/download/details.aspx?id=9983
- Microsoft.Bcl.Асинхронный -https://nuget.org/packages/Microsoft.Bcl.Async
Я даже не понимаю разницы между ними.
Я установил обе. Visual Studio Async CTP (версия 3), Microsoft.Bcl и Microsoft.Bcl.Асинхронный. (также используется для запуска toolsportable-net40+sl4+win8+wp71install.ps1
в Microsoft.Bcl)
и до сих пор не вижу никакого эффекта. Же ошибка
public async Task<CommResponse>
->
Error 37 The type or namespace name 'async' could not be found (are you missing a using directive or an assembly reference?)
Так это реально, как я должен использовать это?
2 ответов
Я не думаю, что вы должны сделать это. Версия Visual Studio 2010 async / await-это скорее предварительный просмотр, чем что-либо еще. Если вы хотите использовать это в реальном коде производственного уровня, вам обязательно нужно перейти на Visual Studio 2012 (или 2013, Если вы можете немного подождать).
Если вам это не нужно в реальном производственном коде, который по какой-то причине требует Visual Studio Pro, и просто играет, Вы можете использовать Visual Studio 2012 Express.
Я работаю над чем-то подобным (я пишу RestApiLibrary в VS2010, который я заимствовал из проекта VS2017) и нашел следующий URL-адрес полезным.
https://code.msdn.microsoft.com/Introduction-to-HttpClient-4a2d9cee
главное, что помогло:
// Send a request asynchronously continue when complete
client.GetAsync(_address).ContinueWith(
(requestTask) =>
{
// Get HTTP response from completed task.
HttpResponseMessage response = requestTask.Result;
// Check that response was successful or throw exception
response.EnsureSuccessStatusCode();
метод' ContinueWith 'и'.Свойство Result казалось ключевым для (типа использования) асинхронной функции в VS2010. Заметьте, я сомневаюсь, что это работает традиционный асинхронный способ, но, по крайней мере, таким образом, вы можете использовать асинхронные методы в VS2010.
надеюсь, что это помогает!