Из-за ограничений работы мне необходимо продолжить использование Visual Studio 2010 в ближайшем будущем. В то же время я узнал об Async в своем личном кодировании. Является ли последний Async CTP полностью совместимым с языковыми функциями Async на С# 5.0? И устанавливает ли Async CTP правильный способ использования Async с VS2010?
Правильный способ использования Async с VS 2010 теперь, когда выпущен VS 2012?
Ответ 1
Async CTP - единственный способ использовать async
в Visual Studio 2010. Однако это не то, что async
сделал это в .NET 4.5/Visual Studio 2012, несколько ошибок в CTP были исправлены в окончательный выпуск. Вы не получите эти исправления ошибок в Visual Studio 2010, в соответствии с CTP readme:
ПРИМЕЧАНИЕ ЛИЦЕНЗИЯ "КАК ЕСТЬ"
В то время как лицензия Async CTP не мешает вам использовать ее на свой страх и риск в производственных средах, мы советуем вам не делать этого. Цель этого CTP состоит исключительно в том, чтобы собрать отзывы о нашей планируемой асинхронной разработке. Мы не проектировали и не строили его для использования в производственных средах и не тестировали его так тщательно, как это необходимо для использования в производственных средах, и мы считаем, что у него слишком много недостатков, которые могут быть пригодны для использования в производственных средах. Мы благодарны за отзыв о Async CTP, но мы не планируем делать какие-либо исправления для самого Async CTP: исправления, которые мы делаем, будут отображаться только в конечном поддерживаемом выпуске продукта.
Если вам абсолютно необходимо VS 2010, я бы попытался сначала установить Async CTP, а затем установить .NET 4.5 (как время исполнения, так и SDK). Разработайте в Visual Studio, но создайте с помощью автономного компилятора.
Ответ 2
Учитывая то, что .NET 4.5 устанавливается поверх .NET 4 и проблемы, которые могут возникнуть, я постараюсь как можно дальше отделить рабочую среду от вашей личной среды разработки.
Вы можете установить VS2010 и VS2012 на один и тот же компьютер, и я бы порекомендовал это с использованием async CTP:
- Меньшее загрязнение вашей работы IDE
- Современная версия С# 5
- Все преимущества VS 2012, когда вы его используете
Однако, я думаю, что было бы безопаснее разрабатывать на ВМ или отдельную машину, если это вообще возможно.
Наименее привлекательным вариантом будет использование CTP, IMO - я могу видеть только риски на этом фронте, если честно.
Ответ 3
Асинхронные CTP не полностью согласуются с окончательной реализацией С# 5.0, хотя ключевые слова одинаковы.
Если вашей реальной потребностью в бизнесе является создание приложения, которое может работать на .NET 4.0, рекомендуется использовать VS2012 с асинхронный таргетинг (доступно через NuGet).
В этой конфигурации ваша машина разработки имеет .NET 4.5 и VS2012, однако бинарный файл, созданный из вашей сборки решения, будет совместим с .NET 4.0.
Это обеспечивает полную поддержку функции асинхронного языка, поскольку пакет таргетинга VS2012 + async предоставляет вам тот же официальный компилятор и выше, чем качество CTP.