स्थिति
बस एक विरासत DLL उपयोग कर सकते हैं कैसे पंजीकरण के बिना मैं एक निर्माण प्रणाली है कि कई परियोजना के लिए कई बनाता है कार्यान्वित चलाते हैं। किसी एक निर्माण को प्रभावित करने से बचने के लिए हम बिल्ड उपयोगकर्ता को केवल अपने कार्यक्षेत्र में बंद कर देते हैं। गैर-विशेषाधिकार प्राप्त उपयोगकर्ताओं के रूप में चलाता है जिनके पास केवल कार्यक्षेत्र की लेखन क्षमता होती है।सी # (regsvr32)
चैलेंज
हमारे नए निर्माण के दौरान हम एक विरासत 3rdparty DLL कि कॉम के माध्यम से इसके इंटरफेस को उजागर करता है उपयोग करने के लिए की जरूरत है। देव टीम बिल्ड (regsrv32.exe) को पंजीकृत करना चाहता है लेकिन हमारी बिल्ड सुरक्षा व्यवस्था इस गतिविधि को अवरुद्ध करती है। अगर हम शासन को आराम देते हैं तो तृतीय पक्ष डीएलएल अन्य बिल्डों को प्रभावित करेगा और यदि मेरे पास दो निर्माण हैं जिन्हें दो अलग-अलग संस्करणों की आवश्यकता है, तो गलत संस्करण (एक बहुत ही वास्तविक संभावना) के खिलाफ गलत निर्माण संकलन हो सकता है।
प्रश्न
वहाँ पंजीकरण के अतिरिक्त कोई अन्य विकल्प विरासत DLLs जो कॉम के माध्यम से अपने इंटरफेस का पर्दाफाश को संभालने के लिए कर रहे हैं?
मदद
पीटर
.NET COM में आमतौर पर पंजीकरण करने के लिए इंटरऑप के माध्यम से किया जाता है। .NET में डीएलएल को असेंबली कहा जाता है और इसे कई तरीकों से किया जा सकता है .. परियोजना स्तर पर वीएस आईडीई के माध्यम से संदर्भ जोड़कर, या लोड कोड लिखकर और असेंबली को अनलोड करता है .. द्वारा कॉनफिग फ़ाइल जो असेंबली के संदर्भ के साथ-साथ परियोजना के भीतर उस संदर्भ का उपयोग कर रही है ... जीएसी .. – MethodMan
पंजीकरण जब आप बनाते हैं * कभी * आवश्यक नहीं होता है। COM इंटरफेस का पर्दाफाश करने के लिए एक प्रकार पुस्तकालय का उपयोग करता है। यदि आप Regasm.exe का उपयोग कर रहे हैं तो आप इसे गलत कर रहे हैं। Tlbexp.exe का प्रयोग करें –