2010-03-10 19 views
5

क्या कोई सिस्टम है। 0x80040154 का रनटाइम.इंटरोप सर्विसेज .COMException हमेशा मतलब है कि कक्षा पंजीकृत नहीं है? मुझे एक कॉमेक्सप्शन मिल रहा है जो कहता है "सीएलएसआईडी {29131539-2EED-1069-BF5D-00DD011186B7} के साथ घटक के लिए COM क्लास फैक्ट्री को पुनर्प्राप्त करना निम्न त्रुटि के कारण विफल रहा: 80040154." यह Interop.Domino.dll लोड करने का प्रयास कर रहा है जो एक संदर्भ है जिसे मैं "लोटस डोमिनोज ऑब्जेक्ट्स" नामक संदर्भ संदर्भ के COM टैब से प्राप्त करता हूं जो नोट्स प्रोग्राम फ़ोल्डर में domobj.tlb को इंगित करता है।क्या 0x80040154 का COMException हमेशा 'कक्षा पंजीकृत नहीं है'?

मैं कोड साल पहले लिखा था - यह केवल एक चीज मैं कभी इंटरॉप के साथ किया गया है और यह कहना है कि मैं वास्तव में कभी नहीं यह साथ पकड़ के लिए मिल गया निष्पक्ष है।

मैं 2008 आर 2 सर्वर (इसलिए यह x64) में कोड को स्थानांतरित करने के बाद फिर से यह त्रुटि देख रहा हूं। यह एक्सपी पर लिखा गया था और 2003 (दोनों x86) पर चलाया गया था। समस्या का निदान करने के लिए, मैंने Win7 x86 बनाया (क्योंकि कोई R2 x86 नहीं है) बॉक्स और यह काम करता है। मैंने 2003 x64 बॉक्स भी बनाया और यह एक ही त्रुटि के साथ विफल रहता है, इसलिए ऐसा लगता है कि यह x64 आर्किटेक्चर में जाने के कारण होता है। X64 COM DLLs x64 मशीनों पर काम करने के लिए इंटरऑप करते समय मुझे कुछ करना चाहिए?

उत्तर

2

वेतन ध्यान सही रजिस्टर का उपयोग कर 32-बिट घटकों के रजिस्टर करने के लिए (C: \ Windows \ SysWOW64 \ regsvr32.exe)।
यदि आप पहले ही 64-बिट संस्करण के साथ पंजीकृत हैं, तो उसी संस्करण के साथ प्रत्येक डीएल को अनधिकृत करें।

अधिक मदद आप यहां प्राप्त Team is Going from XP32 to XP64 for .NET Development - Any Gotchas?

गुड लक

+0

हाँ, यह जगह पर है, धन्यवाद। और लिंक के लिए धन्यवाद। – ssg31415926

4

मैं एक ही निर्माण और उस interop.domino.dll कहा जाता है विंडोज 7 x64 पर एक .NET अनुप्रयोग है, जो 32 है भागने की कोशिश कर समस्या थी थोड़ा सा

हल करने के लिए, मैं जब 64 ऑपरेटिंग सिस्टम पर चलाने के 86 के रूप में विशेष रूप से चलाने के लिए .NET अनुप्रयोग कंपाइल।

मैं दृश्य स्टूडियो 2010 एक्सप्रेस संस्करण जो संस्करणों के लिए भुगतान की तुलना में 86 प्लेटफार्मों के लिए विशेष रूप से लक्षित करने के लिए जटिल काम है उपयोग कर रहा था।

समाधान था:

  1. क्लिक करें उपकरण> विकल्प> परियोजनाओं और समाधान
  2. बॉक्स "शो विन्यास का निर्माण उन्नत" चेक करें और ठीक
  3. क्लिक करें उपकरण> सेटिंग> जांच विशेषज्ञ सेटिंग्स क्लिक करें देखने के लिए निर्माण विन्यास प्रबंधक
  4. क्लिक करें BUILD> कॉन्फ़िगरेशन मैनेजर X86 के लिए मंच ड्रॉपडाउन चुनें और बंद
  5. क्लिक करें अब परियोजना के पुनर्निर्माण
2

एक IBM Technote इंगित करता है कि डोमिनोज़ कॉम कक्षाएं एक 64-बिट ऑपरेटिंग सिस्टम पर समर्थित नहीं हैं नहीं है। https://www-304.ibm.com/support/docview.wss?uid=swg21454291 देखें तो ऐसा लगता है कि x86 (mpownie के उत्तर के अनुसार) के रूप में चलाने के लिए कोड को संकलित करके भी, आप अभी भी कुछ संभावनाएं ले रहे हैं।