Şu anda C # 5'in async-await özelliğinden çok kazanç sağlayacak bir uygulama oluşturmaya başlıyorum. Ama hangi VS sürümünü ve async çalışma zamanının kullanacağından emin değilim.
İşletim sistemi popülerlik tablolarına baktığımda, Windows XP'yi üç yıl daha desteklemem gerekecek. Görünüşe göre .net 4.5 sadece Windows'un yeni sürümlerinde çalışıyor, bu yüzden .net 4.0'ı hedeflemem gerekiyor. Geliştirme makineleri Windows 7 kullanıyor, bu yüzden VS'nin daha yeni bir sürümünü kullanmak sorun değil.
Şimdi bunu yapmak için bir derleyici seçmeliyim:
- AsyncCTP'li VS2010
- VS2012 Önizleme (ve geldikten sonra son), hedefi .net 4.0 olarak ayarlama
- Mono (2.12'de eşzamansız bekliyor gibi görünüyor, IDE olarak MonoDevelop yerine VS'ye alışkınım / tercih ediyorum)
Hangisinde daha az kod-gen hatası var? Baktığımızda Jon Skeet blogunda VS2012 Önizleme CTP daha asla kod jeneratör kullanıyor.
Ve daha da önemlisi hangi çalışma zamanını kullanmalı?
VS2012, .net 4 ile kullanım için yeniden dağıtılabilir bir zaman uyumsuz çalışma zamanı içeriyor mu?
AsyncCTP çalışma zamanına başvurarak kodu önizleme ile derlemeyi başardım. Ancak CTP'nin garip lisans koşulları olduğundan, bu uzun vadeli iyi bir çözüm gibi görünmüyor.
Yoksa bir üçüncü taraf uygulaması mı kullanmalıyım? Belki mono'nun bir tane var?
Kütüphaneyi dağıtmak için sadece bir çeşit yükleyici yerine uygulama ile aynı dizine dll koymayı tercih ederim.
İkili dosyalarım mono + Linux / MacOS üzerinde değişiklik yapmadan çalışırsa da sevdim. Bu nedenle çalışma zamanı, mono (2.12) yerleşik olanlarla uyumlu olmalı veya Windows olmayan işletim sistemlerinde kullanılmasına izin vermelidir.