Наразі я починаю створювати додаток, який би отримав багато прибутку від функції асинхронних очікувань C # 5. Але я не впевнений, яку версію VS та час виконання асинхронізації використовувати.
Переглядаючи діаграми популярності ОС, мені потрібно буде підтримувати Windows XP ще три роки. Схоже, що .net 4.5 працює лише в нових версіях Windows, тому мені потрібно орієнтуватися на .net 4.0. Машини розробки використовують Windows 7, тому використання нової версії VS не є проблемою.
Тепер мені потрібно спочатку вибрати компілятор для цього:
- VS2010 з AsyncCTP
- VS2012 Попередній перегляд (і остаточний, коли він надійде), встановивши ціль у .net 4.0
- Mono (Схоже, 2.12 має асинхронічний режим, я віддаю перевагу / звик VS над MonoDevelop як IDE)
У якому з них менше помилок у кодовому роді? Переглядаючи блог Джона Скета, VS2012 Preview використовує ніколи не генератор коду, ніж CTP.
І ще важливіше, який час виконання використовувати?
Чи містить VS2012 виконувану програму асинхронного перерозподілу для використання з .net 4?
Мені вдалося скласти код із попереднім переглядом шляхом посилання на час виконання AsyncCTP. Але оскільки CTP має дивні умови ліцензування, це не схоже на гарне довгострокове рішення.
Або я повинен використовувати реалізацію третьої сторони? Можливо, у моно є такий?
Для розповсюдження бібліотеки я вважаю за краще просто помістити dll в той самий каталог, що і додаток, а не якийсь інсталятор.
Мені б також хотілося, щоб мої бінарні файли працювали без змін на моно + Linux / MacOS. Таким чином, час виконання повинен бути або сумісним з тим, що вбудовано моно (2.12, мабуть), або дозволити використовувати на ОС, що не працює під керуванням Windows.