2009-10-05 13 views
6

यदि मैं mydll.dll के खिलाफ एक मॉड्यूल को लिंक करता हूं, जिसे WinSxS का उपयोग करके तैनात किया गया है, तो मेरे मॉड्यूल में पीई हेडर बस "mydll.dll" का संदर्भ देगा। विंडोज रनटाइम पर कैसे निर्धारित करता है, सबसे पहले यह निर्भरता WinSxS के माध्यम से लोड की जानी चाहिए, और दूसरा यह किस विधानसभा में है?WinSxS DLL स्थानों को DLL स्थानों को कैसे हल करता है?

+0

सबसे अच्छे अनुमान पर, डीएलएल सेट का एक संस्करण डिफ़ॉल्ट रूप से डिफ़ॉल्ट है जब तक कि एक मैनिफेस्ट फ़ाइल इसे अन्यथा नहीं बताती। – Powerlord

+0

मुझे लगता है कि यह सुपर उपयोगकर्ता पर है, एसओ नहीं। –

+1

क्यों? इसमें प्रोग्रामिंग के लिए बहुत प्रासंगिकता है (हालिया/कहानी के रूप में, जहां 9 0% पाठकों को यह समझ में नहीं आता कि एसएक्सएस क्या है या यह कैसे काम करता है, दिखाया गया है)। –

उत्तर

7

यह "सक्रियण संदर्भ" के माध्यम से ऐसा करता है। मेरी राय में, WinSxS तब ​​तक कोई समझ नहीं लेता जब तक आप सक्रियण संदर्भ के बारे में नहीं सीखते और यह कैसे प्रबंधित होता है।

मैंने http://omnicognate.wordpress.com/2009/10/05/winsxs/ पर विवरण समझाते हुए एक लंबा ब्लॉग पोस्ट रखा है।

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

+0

इस आलेख को मेटा पर सुझावों के कारण क्यू/ए प्रारूप में पोस्ट किया गया था: http://meta.stackexchange.com/questions/24608/what-is-the-etiquette-for-posting-an-article। –

+0

नोट: मैं इसकी प्रासंगिकता स्थापित करने के लिए, लेख में कम से कम थोड़ा सा लेख डालने का सुझाव देता हूं। –

संबंधित मुद्दे