Async CTP не работает в VS 2010 SP1?

Я загрузил Async CTP и установил его на моей машине разработки, которая имеет как VS 2010, так и VS 2012. Установка, похоже, завершилась успешно (без ошибок).

Я создал новый проект WinForms (язык: VB.NET) и украсил Form_Load с помощью Async.

Проблема в том, что ключевое слово Async не распознается. Кто-нибудь сумел заставить его работать и как?

Выполнение этого же в VS 2012, нацеливание на .NET Framework 4.5 работает.

Примечание. В настоящий момент мне не нужны Silverlight, Windows Phone или даже Web.

Ответ 1

Как было предложено @Ramhound, я удалил все, что связано с VS 2012 и 2010, а затем установил 2010 + SP1 + применил Async CTP3. Правильно установлен Async CTP3 показывает экран приветствия и предлагает перезагрузить компьютер. После этого VS 2010 начинает поддерживать ключевое слово async. Однако для полной поддержки требуется ссылка на соответствующую библиотеку отсюда (зависит от платформы):

c:\Users\%username%\Documents\Microsoft Visual Studio Async CTP\Samples\

В моем случае это было AsyncCtpLibrary.dll. В противном случае он выделит синтаксис, но не будет компилироваться.

Ответ 2

Не нужно делать этого.

У вас уже установлен VS2012, который имеет полную поддержку async/await. Вы можете установить Microsoft.Bcl.Async, чтобы получить поддержку async/await на платформах нижнего уровня, включая .NET 4.0.

Ответ 3

Я ответил на него в асинхронном программировании с помощью Async и Await и если использовать больше возможностей С# 5.0 без установки .NET 4.5./VS2012 (что невозможно в Winfows XP), чем просто async/await в ответе Где я могу найти версию потока данных TPL для 4.0?.

Обратите внимание, что .NET 4.0 на компьютере с установленным .NET 4.5 отличается от .NET 4.0 с установленным .NET 4.5 Другими словами, вы не можете надежно разрабатывать и тестировать приложения .NET 4.0 на компьютере с установленным .NET 4.5. Последнее не зависит от того, установлены ли вы расширения или нет.