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. Последнее не зависит от того, установлены ли вы расширения или нет.