2011-11-08 15 views
5

मेरे पास एक सी ++/सीएलआई असेंबली है (विंडोज 7 के साथ आता है .NET 3.5 के लिए संकलित)। असेंबली को ComVisible(true) के रूप में चिह्नित किया गया है। इसमें 2 कक्षाएं और 1 इंटरफ़ेस शामिल है। दोनों वर्गों को ComVisible(false) के रूप में चिह्नित किया गया है, इसलिए उन्हें कोई फर्क नहीं पड़ता। इंटरफ़ेस InterfaceType(ComInterfaceType::InterfaceIsIUnknown) और एक विशिष्ट GUID के साथ चिह्नित है। इस इंटरफेस को पंजीकृत करने की जरूरत है।regasm RA0000: कोई प्रकार पंजीकृत नहीं थे

जब मैं इस विधानसभा RegAsm.exe AssemplyName का उपयोग कर रजिस्टर करने के लिए प्रयास करते हैं, मैं इस चेतावनी मिलती है:

RegAsm : warning RA0000 : No types were registered 

मेरे विधानसभा 3 अन्य विधानसभाओं जो अपने मुख्य विधानसभा उसी निर्देशिका में हैं पर निर्भर करता है। उनमें से 2 कोई समस्या नहीं है और तीसरा ComVisible के रूप में चिह्नित नहीं है।

कोई विचार क्यों मैं अपनी असेंबली पंजीकृत करने में असमर्थ हूं?

+1

हाँ, इंटरफ़ेस सार्वजनिक था। धन्यवाद। –

उत्तर

6

ऐसा लगता है कि असेंबली पंजीकृत नहीं हो रही थी क्योंकि इसमें पंजीकरण के लिए उपलब्ध कोई भी वर्ग नहीं था, केवल एक इंटरफेस। जैसे ही मैंने असेंबली में एक डमी क्लास जोड़ा, चेतावनी चली गई और असेंबली पंजीकृत हो गई।

+0

जहां मैं डमी क्लास जोड़ना चाहता हूं? – Sagotharan

+0

बस अपनी परियोजना में एक डमी क्लास जोड़ें। –

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