2011-05-18 16 views
6

के साथ विफल रहता है मेरे पास एक मूल C++ COM सर्वर है जो COM इंटरफेस का खुलासा करता है। मैं सर्वर से उजागर इंटरफेस प्राप्त करने और उपयोग करने के लिए सफलतापूर्वक मूल C++ क्लाइंट एप्लिकेशन का उपयोग कर सकता हूं।COM सर्वर पर .NET इंटरफ़ेस 0x80080005

जब मैं सर्वर के लिए एक संदर्भ के साथ एक .net ग्राहक का उपयोग, मैं त्रुटि मिलती है:

Retrieving the COM class factory for component with CLSID {xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx} failed due to the following error: 80080005 Server execution failed (Exception from HRESULT: 0x80080005 (CO_E_SERVER_EXEC_FAILURE)).

... भले ही COM सर्वर शुरू होता है और सफलतापूर्वक चलता (और केवल बारे में 1 या 2 लेता है स्टार्टअप के लिए सेकंड)।

लेकिन मुझे उपरोक्त त्रुटि तब मिलती है जब सर्वर स्थानीय सर्वर के रूप में पंजीकृत होता है। यदि मैं सर्वर को विंडोज सेवा के रूप में पंजीकृत करता हूं, तो .NET क्लाइंट इंटरफ़ेस को सफलतापूर्वक प्राप्त और उपयोग कर सकता है।

मैं इसे विंडोज 7 64-बिट पर एक व्यवस्थापक के रूप में कर रहा हूं। COM सर्वर स्थानीय मशीन पर है।

मैं नीचे धागा जाँच की है, लेकिन कोई जवाब की पेशकश की गई: Retrieving the COM class factory for component with CLSID {XXXX} failed due to the following error: 80080005

एक दिन और यह एक अब तक पर एक आधा ... क्या समस्या हो सकती है बिताया?

अधिक जानकारी:
मैंने यह बनाम बनाम2005 के साथ काम किया है। मैंने हाल ही में vs2010 को अपडेट किया है और अब मैं इस मुद्दे पर चल रहा हूं। मैंने एक ही परिणाम के साथ .net क्लाइंट लक्ष्यीकरण ढांचे 2.0, 3.5, और 4.0 का निर्माण करने का प्रयास किया है।

धन्यवाद

+0

अपने COM सर्वर 32-बिट है? क्या आप 64-बिट .NET CLR चला रहे हैं? – Rup

+0

COM सर्वर 32-बिट है। मैंने विशेष रूप से x86 के लिए .net क्लाइंट बनाया है ... क्या 32-बिट सीएलआर को लक्षित करने के लिए कुछ और आवश्यक है? – Ken

+0

क्या यह सर्वर के एकल बनाम कई उदाहरणों से संबंधित हो सकता है? सेवा के रूप में पंजीकृत होने पर, सबकुछ काम करता है। ग्राहक सर्वर से कनेक्ट कर सकते हैं और अपना काम कर सकते हैं। स्थानीय सर्वर के रूप में पंजीकृत होने पर, प्रत्येक प्रयास किए गए क्लाइंट कनेक्शन द्वारा सर्वर का एक नया उदाहरण प्रारंभ होता है और फिर 0x80080005 त्रुटि होती है; तो कई परीक्षणों के बाद मेरे पास सर्वर के कई उदाहरण हैं जो केवल एक के बजाए चल रहे हैं। – Ken

उत्तर

-2

माइक्रोसॉफ्ट वर्तमान की सिफारिश नहीं करता, और समर्थन नहीं करता है, किसी भी पहुंच से बाहर, गैर-सहभागी क्लाइंट अनुप्रयोग या घटक (एएसपी, ASP.NET, DCOM, और NT सेवा सहित से माइक्रोसॉफ्ट ऑफिस अनुप्रयोगों के स्वचालन), क्योंकि कार्यालय इस माहौल में चलने पर अस्थिर व्यवहार और/या डेडलॉक प्रदर्शित कर सकता है।

अधिक जानकारी के लिए इस Link

+0

प्रश्न के साथ कार्यालय के साथ कुछ लेना देना नहीं है। –

0

जब एक 32 बिट COM एप्लिकेशन कनेक्ट करने का प्रयास करने के लिए 64 पर चल रहे एक .net app का उपयोग कर मैं यह त्रुटि देख रहा था। मैं अपने .net ऐप को x86 (32 बिट) पर स्विच करके आसानी से इसे ठीक करने में सक्षम था।

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