मैं वर्तमान में एक ऐसा एप्लिकेशन बनाना शुरू कर रहा हूं, जो C # 5 के एसिंक्स-वेट फीचर से बहुत लाभान्वित करेगा। लेकिन मुझे यकीन नहीं है कि वीएस और एसिंक्श रनटाइम का कौन सा संस्करण उपयोग करना है।
ओएस लोकप्रियता चार्ट को देखते हुए, मुझे एक या तीन साल के लिए विंडोज एक्सपी का समर्थन करने की आवश्यकता होगी। ऐसा लगता है कि .net 4.5 केवल Windows के नए संस्करणों पर चलता है, इसलिए मुझे .net 4.0 को लक्षित करने की आवश्यकता है। विकास मशीनें विंडोज 7 का उपयोग करती हैं, इसलिए वीएस के नए संस्करण का उपयोग करना कोई समस्या नहीं है।
अब मुझे पहले ऐसा करने के लिए एक कंपाइलर चुनने की आवश्यकता है:
- VS2010 AsyncCTP के साथ
- VS2012 पूर्वावलोकन (और एक बार आने के बाद अंतिम), लक्ष्य को .net 4.0 पर सेट करना
- मोनो (जैसा दिखता है। 2.12 में async-wait है, मुझे पसंद है / मैं IDE के रूप में मोनोडेवलप पर VS का उपयोग करता हूं)
किसमें कम कोड-जीन कीड़े हैं? को देखते हुए जॉन स्कीट के ब्लॉग VS2012 पूर्वावलोकन सीटीपी की तुलना में एक कभी नहीं कोड-जनरेटर का उपयोग करता है।
और अधिक महत्वपूर्ण बात जो रनटाइम का उपयोग करना है?
क्या VS2012 में .net 4 के साथ उपयोग के लिए एक पुनर्वितरण योग्य async रनटाइम होता है?
मैं AsyncCTP रनटाइम को संदर्भित करके, कोड का पूर्वावलोकन करने में कामयाब रहा। लेकिन चूंकि CTP में अजीब लाइसेंसिंग स्थितियां होती हैं, इसलिए यह एक अच्छे दीर्घकालिक समाधान की तरह नहीं दिखता है।
या मुझे तीसरे पक्ष के कार्यान्वयन का उपयोग करना चाहिए? शायद मोनो में एक है?
पुस्तकालय को वितरित करने के लिए, मैं किसी प्रकार के इंस्टॉलर के बजाय केवल उसी निर्देशिका में डीएल लगाना पसंद करता हूं।
मुझे यह भी अच्छा लगेगा अगर मेरी बायनेरी मोनो + लिनक्स / मैकओएस पर बदलाव के बिना काम करेगी। तो रनटाइम या तो मोनो (2.12 शायद) में बनाया गया है या गैर-विंडोज़ ओएस पर उपयोग की अनुमति के साथ संगत होना चाहिए।