मेरे पास एक .NET असेंबली है जिसे मैंने एक टीएलबी फ़ाइल के माध्यम से COM के संपर्क में लाया है, और एक इंस्टॉलर जो tlb को पंजीकृत करता है। मैंने मैन्युअल रूप से जांच की है कि इंस्टॉलर सही तरीके से काम करता है और COM क्लाइंट लाइब्रेरी तक पहुंच सकते हैं। अब तक, बहुत अच्छा ...क्या .NET से COM-Exposed असेंबली का परीक्षण करना संभव है?
हालांकि, मैं कुछ स्वचालित सिस्टम परीक्षणों को एक साथ रखने की कोशिश कर रहा हूं जो जांचता है कि इंस्टॉलर सही तरीके से काम कर रहा है। इसके हिस्से के रूप में मैंने एक वीएम पर स्थापना स्वचालित कर दी है, और अब मैं स्थापित COM लाइब्रेरी में कुछ कॉल करना चाहता हूं ताकि यह सत्यापित किया जा सके कि यह सही तरीके से काम कर रहा है। मैंने मूल रूप से वीबी 6 में कुछ परीक्षण लिखने के बारे में सोचा था, लेकिन मेरे पास पहले से ही सी # में लिखे गए परीक्षणों का एक बड़ा सूट है, जो .NET असेंबली का संदर्भ देता है। मैं उम्मीद कर रहा था कि मैं इसे .tlb के संदर्भ में बदल सकता हूं, लेकिन जब मैं इसे VS2008 के भीतर आज़माता हूं तो मुझे एक त्रुटि मिलती है:
ActiveX प्रकार लाइब्रेरी 'blah.tlb' को .NET असेंबली से निर्यात किया गया था और जोड़ा नहीं जा सकता संदर्भ के रूप में।
क्या कोई तरीका है कि मैं इस संदर्भ को जोड़ने की अनुमति देने के लिए VS2008 को मूर्ख बना सकता हूं, शायद टीएलबी फ़ाइल संपादित करके?
गुगलिंग किसी भी समाधान के साथ नहीं आया है। http://connect.microsoft.com/VisualStudio/feedback/ViewFeedback.aspx?FeedbackID=120882
कुछ लोगों ने tlbimp.exe का उपयोग करके उल्लेख किया है। अगर मैं tlbimp.exe blah.tlb को आज़माता हूं तो मुझे त्रुटि मिलती है: "टाइप लाइब्रेरी ब्लाह को सीएलआर असेंबली से निर्यात किया गया था और सीएलआर असेंबली के रूप में फिर से आयात नहीं किया जा सकता है।" – Akash