सी ++ कंपाइलर या कई अन्य कंपाइलर्स के विपरीत, जो पुस्तकालयों को पढ़ सकते हैं, न तो सीएलआर और न ही .NET कंपाइलर्स वास्तव में एक प्रकार की लाइब्रेरी पढ़ते हैं। वे दोनों इंटरऑप लाइब्रेरी पर निर्भर करते हैं, एक प्रकार की लाइब्रेरी से उत्पन्न एक .NET असेंबली। इसमें केवल टीएलबी से डीकंपल की गई घोषणाएं शामिल हैं, एक प्रारूप में जो सीएलआर और कंपाइलर दोनों समझ सकते हैं।
प्राथमिक उपकरण जो यह करता है Tlbimp.exe, प्रकार लाइब्रेरी आयातक है।
चल रहा Tlbimp.exe एक कठिन आवश्यकता नहीं है, हालांकि आप इसे बिल्ड सर्वर पर करने पर विचार करेंगे। आईडीई संदर्भ संदर्भ संवाद से पंजीकृत प्रकार पुस्तकालयों को ब्राउज़ करने का भी समर्थन करता है। प्रोजेक्ट में जो आइटम जोड़ा जाता है, उसमें रजिस्ट्री कुंजी होती है, न कि प्रकार लाइब्रेरी का नाम। <ResolveComReference>
एमएसबिल्ड कार्य रजिस्ट्री जानकारी से इंटरऑप असेंबली उत्पन्न करता है।
ऐसा करने का प्रमुख लाभ यह है कि अब मैनिफेस्ट प्रविष्टियों को स्वतः उत्पन्न करना आसान है ताकि COM सर्वर को पंजीकृत किए बिना उपयोग किया जा सके। उर्फ "reg-free COM"। मैनिफेस्ट प्रविष्टियों को प्रदान करने के लिए रजिस्ट्री जानकारी आवश्यक है। संदर्भ के लिए पृथक संपत्ति को सही पर सेट करके बस चालू करें। बहुत वांछनीय।
स्रोत
2014-07-14 22:16:29
मुझे यकीन नहीं है कि कोई पुराना सी ++ एप्लिकेशन पंजीकरण के बिना COM .dll चला सकता है; ऐसा लगता है कि COM स्वयं का विरोधाभास है। शायद वह एप्लिकेशन COM सर्वर मध्यस्थ के माध्यम से बिना, डीएलएल द्वारा प्रदान की गई कार्यक्षमता का उपयोग कर रहा है। – antiduh
@antiduh नोटिस मैं केवल संकलन के बारे में पूछता हूं, दौड़ नहीं रहा हूं। – TCS
.NET से, आप टीएलबी का संदर्भ दे सकते हैं, आप क्यों कहते हैं कि इसे पंजीकृत होना है? –