मैं ऐसे उत्पाद पर काम कर रहा हूं जो COM इंटरऑप के माध्यम से कुछ .NET API को उजागर करता है। निर्माण के एक हिस्से के रूप में हम सभी ऐसी असेंबली के लिए * .tlb फ़ाइलें जेनरेट करते हैं और उन्हें एक अलग एसडीके पैकेज के हिस्से के रूप में वितरित करते हैं। हमारे ग्राहक हमारे उत्पाद के शीर्ष पर एसडीके स्थापित कर सकते हैं और हमारे COM API का उपयोग करने वाले एप्लिकेशन बना सकते हैं।* .tlb फ़ाइलों को कभी भी रनटाइम पर उपयोग किया जाता है?
क्या हमें उत्पाद के साथ उन * .tlb फ़ाइलों को शिप और पंजीकृत करने की आवश्यकता है? क्या ऐसी स्थिति है जब * .tlb रनटाइम पर आवश्यक है, जब उनके खिलाफ कोडित तीसरे पक्ष के पुस्तकालयों को निष्पादित किया जाता है?
कृपया बताएं कि यह कैसे काम करता है, अगर आप हाँ का जवाब देते हैं। मैंने इंटरनेट पर कई टिप्पणियां देखीं जो कहती हैं कि मुझे उन्हें वितरित करना और पंजीकरण करना है, लेकिन मुझे वह नहीं मिला जो स्पष्ट रूप से समझाता है कि इसे क्यों किया जाना चाहिए। इससे मुझे संदेह हुआ कि यह सच है।
धन्यवाद जो मैं ढूंढ रहा था। – Dennis
माइक्रोसॉफ्ट दस्तावेज इसकी पुष्टि करता है: http://msdn.microsoft.com/en-us/library/eaw10et3.aspx#marshaling_and_com_apartments "क्रॉस-अपार्टमेंट मार्शलिंग के ओवरहेड को स्वीकार करें, जो केवल कई कॉल होने पर ध्यान देने योग्य है सीमा पार आपको सफलतापूर्वक अपार्टमेंट सीमा पार करने के लिए कॉल के लिए COM घटक की टाइप लाइब्रेरी पंजीकृत करनी होगी। " – Dennis
http://msdn.microsoft.com/en-us/library/windows/desktop/ms692621(v=vs.85)।एएसपीएक्स "कस्टम इंटरफेस के लिए प्रॉक्सी और स्टब्स उत्पन्न करने के लिए एमआईडीएल का उपयोग करने का एक विकल्प, इसके बजाय एक प्रकार की लाइब्रेरी उत्पन्न की जा सकती है और सिस्टम प्रदान किया जा सकता है, टाइप-लाइब्रेरी-संचालित मार्शलिंग इंजन इंटरफ़ेस को मार्शल करेगा।" – Dennis