Подтвердить что ты не робот

Как использовать ключевые слова async в проекте targeting.net 4.0

Я хотел бы использовать ключевые слова async в проекте, созданном в .net 4.0.

Если я перейду на сайт nuget.org, и я ищу "async", у меня много результатов, но в основном я получаю это:

Visual Studio Async CTP (Версия 3, Неофициальная) 0.3.0

AsyncAwaitCTP 1.0.0

Каковы различия между ними?

4b9b3361

Ответ 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), и оба работали.