Şu anda, nuget.org'daki resmi derlemeler için sürüm yapılarını Nuget ile paketliyorum, ancak sembol kaynağı için Symbolsource.org'a gönderilen hata ayıklama yapılarını Nuget ile paketliyorum.
DÜZENLEME: (Jon Skeet, Noda Time geliştirmeden bazı önyargılarla)
Nuget şimdi Nuget galerisinde hem iterek destekler ve , symbolsource.org (veya benzeri sunucular) belgelenmiş olarak . Ne yazık ki, burada iki çelişkili gereksinim var:
- Hata ayıklamaya ihtiyaç duymadan sadece bir kitaplık kullanırken , gerçekten bir sürüm derlemesi istersiniz. Sonuçta sürüm yapıları bunun için.
- Tanılama amacıyla bir kitaplıkta hata ayıklarken, tüm uygun optimizasyonların devre dışı bırakıldığı bir hata ayıklama derlemesini gerçekten istiyorsunuz. Sonuçta, hata ayıklama yapıları bunun için var.
Bu iyi olurdu, ancak NuGet (söyleyebildiğim kadarıyla) hem yayınlama hem de hata ayıklama yapılarının aynı pakette yararlı bir şekilde yayınlanmasına izin vermiyor.
Yani seçenekler şunlardır:
- Hata ayıklama derlemelerini herkese dağıtın (belgelerdeki örnekte gösterildiği gibi) ve her boyutta ve performans isabetiyle yaşayın.
- Yayın yapılarını herkese dağıtın ve biraz bozulmuş bir hata ayıklama deneyimiyle yaşayın.
- Potansiyel olarak ayrı sürüm ve hata ayıklama paketleri sağlayan, gerçekten karmaşık bir dağıtım ilkesine gidin.
İlk ikisi, hata ayıklama ve sürüm yapıları arasındaki farkların etkisine gerçekten indirgeniyor ... ancak bir kitaplığın koduna adım atmak istemekle bazı davranışları kontrol etmek istemeniz arasında büyük bir fark olduğunu belirtmek gerekir. bir hata bulduğunuzu düşündüğünüz için bir kitaplığın kodunda hata ayıklamak için. İkinci durumda, kitaplığın kodunu bir Visual Studio çözümü olarak almak ve bu şekilde hata ayıklamak muhtemelen daha iyidir , bu nedenle bu duruma çok fazla önem vermiyorum.
Benim cazibem, nispeten az sayıda kişinin hata ayıklaması gerekeceği ve bunu yapanların sürüm yapısındaki optimizasyonlardan fazla etkilenmeyeceği beklentisiyle sürüm yapılarına sadık kalmaktır . (JIT derleyicisi, optimizasyonun çoğunu yine de yapar.)
Peki, düşünmediğimiz başka seçenekler var mı? Dengeyi değiştiren başka hususlar var mı? NuGet paketlerini SymbolSource'a göndermek, "en iyi uygulama" gerçekten kurulmamış kadar yeterince yeni mi?
nuget pack ... -Symbol
üretilen paketleri kullandığım ve zorladığım düşünüldüğünde ...