वर्तमान में, मैं पैकेज को आधिकारिक Nuget.org के लिए Nuget के साथ बनाता है पैकेज जारी करता हूं, लेकिन मैं पैकेज को डिबग के लिए Nuget के साथ प्रतीक स्रोत के लिए pushource.org पर भेजता हूं।
EDIT: (जॉन स्कीट, नोदा टाइम डेवलपमेंट से कुछ पूर्वाग्रह के साथ)
NuGet अब दस्तावेज के रूप में NuGet गैलरी और प्रतीकों सोर्स (या समान सर्वर) दोनों को आगे बढ़ाने का समर्थन करता है । दुर्भाग्य से, यहां दो विरोधाभासी आवश्यकताएं हैं:
- बिना किसी डीबगिंग के केवल लाइब्रेरी का उपयोग करते समय, आप वास्तव में एक रिलीज़ बिल्ड चाहते हैं। कि रिलीज बिल्ड आखिर किस लिए होते हैं।
- नैदानिक उद्देश्यों के लिए लाइब्रेरी में डिबगिंग करते समय, आप वास्तव में सभी उपयुक्त ऑप्टिमाइज़ेशन अक्षम के साथ डिबग बिल्ड चाहते हैं। यह है कि डिबग बनाता है, सब के बाद के लिए है।
यह ठीक होगा, लेकिन नुगेट (जहां तक मैं बता सकता हूं) दोनों रिलीज और डिबग बिल्ड को एक ही पैकेज में एक उपयोगी तरीके से प्रकाशित करने की अनुमति देता है।
तो, विकल्प हैं:
- डिबग बिल्ड सभी को वितरित करें (जैसा कि डॉक्स में उदाहरण में दिखाया गया है) और किसी भी आकार और प्रदर्शन हिट के साथ रहते हैं।
- रिलीज को वितरित करना हर किसी के लिए बनाता है और थोड़ा बिगड़ा हुआ डिबग अनुभव के साथ रहता है।
- वास्तव में जटिल वितरण नीति के लिए जाएं, संभवतः अलग-अलग रिलीज और डिबग पैकेज प्रदान करते हैं।
पहले दो वास्तव में डिबग और रिलीज़ बिल्ड के बीच अंतर के प्रभाव को उबालते हैं ... हालांकि यह ध्यान देने योग्य है कि लाइब्रेरी के कोड में कदम रखने की इच्छा के बीच एक बड़ा अंतर है क्योंकि आप कुछ व्यवहार की जांच करना चाहते हैं, और चाहते हैं लाइब्रेरी के कोड को डीबग करना क्योंकि आपको लगता है कि आपने बग ढूंढ लिया है। दूसरे मामले में, लाइब्रेरी के कोड को विज़ुअल स्टूडियो सॉल्यूशन के रूप में प्राप्त करना संभव है और उस तरह से डिबग करें, इसलिए मैं उस स्थिति के लिए बहुत अधिक ध्यान नहीं दे रहा हूं।
मेरा प्रलोभन सिर्फ रिलीज बिल्ड के साथ रखना है, इस उम्मीद के साथ कि अपेक्षाकृत कम लोगों को डिबग करना होगा, और जो लोग रिलीज बिल्ड में अनुकूलन से बहुत अधिक प्रभावित नहीं होंगे । (JIT संकलक वैसे भी अधिकांश अनुकूलन करता है।)
तो, क्या अन्य विकल्प हैं जिन पर हमने विचार नहीं किया है? क्या अन्य विचार हैं जो संतुलन को टिप देते हैं? क्या NuGet संकुल को SymbolSource के लिए पर्याप्त रूप से नया धक्का देना है जो "सर्वश्रेष्ठ अभ्यास" वास्तव में स्थापित नहीं हुआ है?
nuget pack ... -Symbol
उत्पन्न पैकेज का उपयोग कर रहा हूँ और धकेल रहा हूँ ...