2009-06-30 6 views
37

हम दो कंपनियां हैं जो एक ही प्रोजेक्ट पर एक ही प्रोजेक्ट पर काम कर रही हैं। साप्ताहिक आधार पर हम केवल हमारी असेंबली (कोड नहीं) का आदान-प्रदान करते हैं और एक दूसरे के डीएलएल का संदर्भ देते हैं।.net संदर्भ विनिर्देश सही या गलत है?

हमारी परियोजना के संदर्भ में specificversion के संबंध में सबसे अच्छा अभ्यास क्या है। विशेष रूप से, जब हम true के specificversion मूल्य और क्या इस मामले में इस्तेमाल करना चाहिए हम false उपयोग करना चाहिए।

+0

सामान्य रूप से, [सॉफ्टवेयर रोट] (https://blog.heroku.com/archives/2011/6/28/the_new_heroku_4_erosion_resistance_explicit_contracts) के खिलाफ सुरक्षा के लिए, अपनी निर्भरताओं के सटीक संस्करणों का संदर्भ देना अच्छा होता है। यही कारण है कि रुबी के पास 'Gemfile.lock', पायथन' requirement.txt' और नोडेज 'npm-shrinkwrap.json' है। –

+0

यह भी देखें http://stackoverflow.com/a/24022135/284795 "जानना सबसे महत्वपूर्ण चीजों में से एक यह है कि निर्दिष्टीकरण एक ऐसी संपत्ति है जो संकलन-समय पर प्रभावी होती है और रनटाइम पर नहीं।" –

उत्तर

47

यह उत्तर इस धारणा पर आधारित होगा कि आप अपने डीएलएस का संस्करण बना रहे हैं।

यदि आप सच्चे वर्जन को सत्य पर सेट करते हैं (जो संदर्भ जोड़ते समय डिफ़ॉल्ट है), तो प्रोजेक्ट उस विशेष संस्करण के साथ उस डीएलएल का संदर्भ देगा (उदाहरण 1.0.0.0 के लिए कहें)। यदि, बाद में, आपको एक नया डीएल दिया गया है (1.0.1.0 कहें), तो आपको पुराने डीएलएल संदर्भ को हटाना होगा और नया संदर्भ जोड़ना होगा। ऐसा इसलिए है क्योंकि जब आपके पास नया संस्करण 1.0.1.0 है तो प्रोजेक्ट विशेष रूप से 1.0.0.0 की तलाश में है।

इसका विकल्प विशिष्ट वर्जन को झूठी पर सेट करना है, जो नवीनतम उपलब्ध डीएल को खोजने और उस का उपयोग करने के लिए प्रोजेक्ट को बताता है। इसके साथ समस्या यह है कि परियोजना को अब आपके द्वारा संदर्भित डीएल के लिए विभिन्न स्थानों पर "शिकार" करने की आवश्यकता है, जो आपके निर्माण समय को बढ़ा सकता है। यह ऐसा करेगा हालांकि यह आपके द्वारा संदर्भित डीएलएल के पथ को जानता है। मुझे यकीन नहीं है कि यह एक बग है या यह डिजाइन द्वारा किया जाता है। यह जांचने के लिए जांच हो सकती है कि आपके द्वारा संदर्भित किए गए किसी भी नए डीएलएस हैं (शायद जीएसी या अन्य जगहों में)।

यहां एक article है जो इस समस्या का अधिक विस्तार से वर्णन करता है।

+0

क्या हमें अन्य कंपनी से आने वाली असेंबली को कम से कम युग्मन संस्करण संख्या पर विचार करना चाहिए? मेरा मतलब है, क्या साप्ताहिक एकीकरण हुआ जब विशिष्ट संस्करण को झूठा करने के लिए यह एक अच्छा अभ्यास है और केवल नए डीएल (एक नए संस्करण संख्या के साथ) ड्रॉप करें? – sptremblay

+0

बीटीडब्ल्यू, बस लेख पर अपना संदर्भ पढ़ें और मुझे बहुत सारी जानकारी दी। धन्यवाद। – sptremblay