Каковы основные риски и преимущества использования VS2010 Async CTP?

Я хотел бы использовать Visual Studio Async CTP (версия 3) для разработки и тестирования в VS2010 SP1 на Windows XP SP3 главным образом потому, что мои клиенты (а также я) на Windows XP SP3. Ghere - это связанная дискуссия на форуме MSDN: Если я нацелен на .net 4.0, но запускаю на машине с .net 4.5 будет .net 4.0 Ошибки WPF все еще будут там?

Несмотря на то, что ПРИМЕЧАНИЕ НА ЛИЦЕНЗИЮ "КАК ЕСТЬ" сообщает:

В то время как лицензия Async CTP не мешает вам использовать ее самостоятельно риска в производственных условиях, мы советуем вам не делать этого. Цель этот CTP предназначен исключительно для сбора отзывов о нашей планируемой асинхронной разработке. Мы не проектировал и не строил его для использования в производственных средах, и не тестировал его так тщательно, как это необходимо для использования в производстве средах, и мы считаем, что у него слишком много недостатков, чтобы быть пригодными для использования в производственных средах. Мы благодарны за отзывы о Async CTP, но мы не планируем делать какие-либо исправления для Async CTP сам: исправления, которые мы делаем, будут отображаться только в конечном итоге выпущенный продукт

Насколько серьезны эти недостатки и ошибки, оставленные в Visual Studio Async CTP (версия 3) и каковы возможные другие соображения, которые Я должен принять во внимание, что может заставить меня изменить мое решение?

Основные причины:

  • Я не очень много читал о С#/.NET 4.5 VS2012 (из-за прилипания к Windows XP SP3,.NET 4.0 и VS2010), и мне нужно сократить время наступления на критические проблемы;
  • Я никогда раньше не был в ситуации, когда мне следовало бы следить за списками исправлений ошибок (вместо конкретной изолированной проблемы на основе необходимости)
    Мне действительно нужно сейчас, для этого случая?

Основной вопрос:
Каковы аравы/возможности, которые неподдерживаемые недостатки не будут иметь простых обходных путей в .NET/С# 4.0 в VS2010, Windows XP SP3 и те, которые могут перевесить преимущества использования async/await

Анимация комментария @DanPuzey:

Приложение основано на TPL, WPF, который обрабатывает асинхронно исходя из потоков данных в Интернете (фондовой бирже). Мне никогда не приходилось заботиться о том, чтобы я остался с неподдерживаемыми документами (образцами), недостатками и ошибками. Я, вероятно, не смогу спросить о них, поскольку они не будут воспроизводиться при поддержке MSFT, а также другими. Я хотел бы оценить риски и преимущества использования неподдерживаемых расширений.

Являются ли основные различия, недостатки, ошибки и риски бесконечными и не могут быть перечислены? Вообще?

Позвольте мне привести страницу загрузки:

"Включает новый лицензионный договор на использование продукции. Примечание. Эта лицензия не поощрять вас использовать CTP для вашей продукции код. CTP остается неподдерживаемым и используется для вашего собственного риска Предварительный просмотр технологии. Однако мы получили много запросов от разработчикам использовать CTP для производственного кода, и поэтому изменили чтобы разрешить это"

Ответ на комментарий @CodesInChaos:

Это не вариант, как было упомянуто в начале моего вопроса со ссылкой на предыдущее ввести описание ссылки здесь. Невозможно разработать и протестировать приложение .NET 4.0 от VS2012 или машину с .NET 4.5. Невозможно установить VS2012 или .NET4.5 в Windows XP. Мой опыт (попытки установить приложения у других поставщиков) заключается в том, что упомянутый вами подход не создает приложения, работающие на Windows XP

Ответ 1

I вторая рекомендация @CodesInChaos, которую вы разрабатываете с использованием VS2012. Я использую VS2012 в Windows 7 для разработки приложений .NET 4, работающих под управлением Windows XP, и он отлично работает. Единственное предостережение в том, что вы не можете отлаживать .NET 4 (вы фактически запускаете среду выполнения .NET 4.5), но для 99% случаев это не имеет значения.

Я использовал Async CTP в производстве; Я считал это неожиданно стабильным для CTP. Тем не менее, есть некоторые известные ошибки. Наиболее примечательным был порядок операций вокруг выражений await. Поэтому следуйте рекомендациям только одного await за оператор и сделайте выражение await своим выражением верхнего уровня, например:

var result = await ...;

Я считаю, что Джон Скит также обнаружил еще несколько неясных ошибок во время серии eduasync.

Нет списка исправленных ошибок Async CTP, которые все еще существуют (в Microsoft.Bcl.Async). В Microsoft может быть некоторый список, но никто не знает об этом.

Приложение основано на TPL, WPF, работающем с асинхронным выходом из интернет-потоков (фондовых бирж).

В этом случае рассмотрите Rx. Rx полностью поддерживается на .NET 4, хотя я считаю, что для разработки он требует VS2012.