नेट दुनिया में सबसे अच्छा अभ्यास सकर्मक निर्भरता कि संस्करण विरोध का कारण प्रबंधन करने के लिए क्या है?सकर्मक निर्भरता एक ही DLL का विरोध करने वाले संस्करण के कारण
विवरण में: परियोजना एक परियोजना बी जो बारी में पुस्तकालय सी पर निर्भर करता है पर निर्भर करता है
भी
प्रोजेक्ट ए भी परियोजना एक्स जो एक अलग और (संभावित) पुस्तकालय की असंगत संस्करण पर निर्भर करता है पर निर्भर करता है सी
A-> बी> Cv1.0
&
A-> एक्स> Cv2.0
जहां
CV> सीवी 2.0
क्या यह काम करने का कोई तरीका है?
यह GAC का उपयोग कर के बिना किया जा सकता है?
यह किया जा सकता है, भले ही बी और एक्स द्विपदीय प्रारूप में केवल (स्रोत सुलभ नहीं) कर रहे हैं?
दूसरे शब्दों में वहाँ एक रास्ता है, जहां मैं जब संघर्ष पैदा करने के बिना परियोजना एक में एक साथ इस्तेमाल के लिए अपने स्वयं निर्भरता का उपयोग कर परियोजना बी और एक्स प्रत्येक हो सकता है।
नोट: मुझे लगता है कि आदर्श रूप में मैं इस समस्या को सभी लेकिन कम से बाहरी पुस्तकालयों पर निर्भरता बढ़ती है के रूप में इस एक अपरिहार्य पक्ष प्रभाव हो जाएगा नहीं होना चाहिए। तो मुझे आश्चर्य है कि यह होना चाहिए कि इससे कैसे निपटना सबसे अच्छा है।
आदर्श रूप में आप फिर से निर्माण करना चाहिए या अद्यतन बी इतना है कि यह सी के वर्तमान संस्करण पर निर्भर करता है कि आप करने के लिए फिर से नक्शा संस्करणों कोशिश कर सकते हैं नहीं कर सकते हैं। http://stackoverflow.com/a/11126867/48082 यह काम करने की गारंटी नहीं है! – Cheeso
सहमत हैं कि आदर्श रूप से किसी को अपनी परियोजनाओं को गंदगी की स्थिति से बचने के लिए साफ करना चाहिए, लेकिन यह हमेशा संभव नहीं है, इसलिए सवाल। – Newtopian
कुछ तरीकों से डीएलएल को रीमेप करना केवल तभी अच्छा होता है जब दोनों संस्करण एक दूसरे के साथ संगत हों। यहां सबसे खराब स्थिति यह है कि यदि वे संगत नहीं हैं, तो प्रत्येक मध्य निर्भरता उस संस्करण का उपयोग करने का एक तरीका है जिसके लिए इसे बनाया गया था और अभी भी मुख्य परियोजना की अपेक्षा की जा रही है। – Newtopian