वर्तमान में, मैं nuget.org पर आधिकारिक बिल्ड के लिए नाइटेट के साथ रिहाई का निर्माण करता हूं, लेकिन मैं प्रतीक स्रोत के लिए Nuget के साथ डीबग बिल्ड करता हूं symbolsource.org पर धक्का देता है।Nuget के साथ सर्वोत्तम अभ्यास: डीबग या रिलीज?
संपादित करें: (जॉन स्कीट, Noda समय विकास से कुछ पूर्वाग्रह के साथ)
NuGet अब दोनों NuGet गैलरी और symbolsource.org (या इसी तरह सर्वर), as documented को आगे बढ़ाने का समर्थन करता है।
- जब बस डिबगिंग के लिए किसी भी आवश्यकता के बिना एक पुस्तकालय का उपयोग कर, अगर तुम सच में एक रिलीज निर्माण करना चाहते हैं: दुर्भाग्य से, वहाँ यहाँ दो विरोधाभासी आवश्यकताओं हैं। यही रिलीज बिल्ड है, आखिरकार।
- डायग्नोस्टिक उद्देश्यों के लिए लाइब्रेरी में डिबगिंग करते समय, आप वास्तव में अक्षम सभी उचित अनुकूलन के साथ एक डीबग बिल्ड करना चाहते हैं। डीबग बिल्ड्स यही है, आखिरकार।
यह ठीक होगा, लेकिन NuGet (जहां तक मैं कह सकता हूं) रिलीज और डीबग दोनों को उसी पैकेज में एक उपयोगी तरीके से प्रकाशित करने की अनुमति देता है।
तो, विकल्प हैं:
- वितरित करें डिबग हर किसी के लिए बनाता है (जैसा कि डॉक्स में उदाहरण में दिखाया गया) और किसी भी आकार और प्रदर्शन हिट के साथ रहते हैं।
- रिलीज वितरित सभी को बनाता है और थोड़ा असुरक्षित डीबग अनुभव के साथ रहते हैं।
- वास्तव में जटिल वितरण नीति के लिए जाएं, संभावित रूप से अलग रिलीज और डीबग पैकेज प्रदान करना।
पहले दो वास्तव में डिबग और रिहाई के बीच मतभेद के प्रभाव के लिए नीचे उबाल बनाता है ... हालांकि यह भी है कि एक पुस्तकालय के कोड में कदम है क्योंकि आप करना चाहते हैं चाहने बीच एक बड़ा अंतर ध्यान देने योग्य है कुछ व्यवहार की जांच करें, और लाइब्रेरी के कोड को डीबग करना चाहते हैं क्योंकि आपको लगता है कि आपको एक बग मिला है। दूसरे मामले में, लाइब्रेरी को विजुअल स्टूडियो समाधान के रूप में लाइब्रेरी का कोड प्राप्त करना शायद बेहतर होगा और उस तरह से डीबग करें, इसलिए मैं उस स्थिति पर बहुत अधिक ध्यान नहीं दे रहा हूं।
मेरे प्रलोभन सिर्फ इतना है कि अपेक्षाकृत कम लोगों को डिबग करने की आवश्यकता होगी रखने के लिए रिलीज के साथ बनाता है उम्मीद के साथ, है, और जो करना रिहाई निर्माण में अनुकूलन द्वारा ज्यादा प्रभावित नहीं होगा। (जेआईटी कंपाइलर वैसे भी अनुकूलन का सबसे अधिक उपयोग करता है।)
तो, क्या ऐसे अन्य विकल्प हैं जिन्हें हमने नहीं माना था? क्या अन्य विचार हैं जो संतुलन को इंगित करते हैं? NuGet संकुल को सिंबलसोर्स को पर्याप्त रूप से नया धक्का दे रहा है कि "सर्वोत्तम अभ्यास" वास्तव में स्थापित नहीं किया गया है?
मैं एक ही प्रश्न पूछने वाला था - हालांकि वर्तमान में मैं रिलीज कॉन्फ़िगरेशन को प्रतीकों को भी दबा रहा हूं, बशर्ते कि मैं केवल 'न्यूज पैक ... -सिंबोल' का उपयोग कर रहा हूं और जेनरेट किए गए पैकेज को दबा रहा हूं .. –
अगर मैं अपने प्रश्न में अपने संदर्भ के बारे में अधिक जानकारी संपादित करता हूं तो मन? मुझे लगता है कि यह पूछने के कुछ कारणों को स्पष्ट करेगा। –
आगे बढ़ें। मैं बाद में इन सभी नई पोस्टों के साथ मिल जाऊंगा। – gzak