Как использовать ключевые слова async в проекте targeting.net 4.0
Я хотел бы использовать ключевые слова async в проекте, созданном в .net 4.0.
Если я перейду на сайт nuget.org, и я ищу "async", у меня много результатов, но в основном я получаю это:
Visual Studio Async CTP (Версия 3, Неофициальная) 0.3.0
AsyncAwaitCTP 1.0.0
Каковы различия между ними?
Ответы
Ответ 1
Вам нужен пакет Microsoft.Bcl.Async. Это правильно выпущенный, не-CTP-пакет, который является стабильным. Для этого также требуется VS2012, поскольку для понимания async
и await
необходим обновленный компилятор.
В теории можно было бы использовать более старые инструменты от VS2010 вместе со старой библиотекой CTP, я бы настоятельно рекомендовал, чтобы вы этого не сделали - у нее есть ошибки, а сама установка - хитом или пропуском.
Ответ 2
Я написал плагин .NET 4.5, используя async
для приложения .NET 4.0, и, к моему удивлению, это действительно сработало!
Я думаю, что это сработало, потому что у меня установлен .NET 4.5, который заменил среду .NET.NET на обновленную, которая используется как для .NET 4.0, так и для .NET 4.5. Затем мой плагин был загружен с использованием Assembly.Load(...)
или аналогичного. Я попробовал как async/await
, так и Environment.CurrentManagedThreadId
(свойство .NET 4.5), и оба работали.