2011-10-18 11 views
6

मुझे एक पुस्तकालय मिला है जिसमें दो भाग होते हैं - एक .net असेंबली जो P/Invokes देशी तृतीय पक्ष डीएल में है। डेस्कटॉप मोड में यह ठीक काम करता है: हालांकि, जब मेट्रो स्टाइल ऐप से असेंबली का संदर्भ लेते हैं और इसे चलाते हैं, तो यह पर P/Invoke पर शिकायत करता है कि "DLL 'लाइब्रेरी लोड करने में असमर्थ": निर्दिष्ट मॉड्यूल नहीं मिला। "मेट्रो से देशी डीएल में पी/कैसे आमंत्रित करें?

देशी डीएल कुछ विशेष नहीं करता है लेकिन केवल सर्वर पर बाहर जाने वाले टीसीपी/आईपी कनेक्शन बनाता है। सिस्टम यह नहीं जानता, बल्कि मूल डीएल कुछ भी कर सकता है। यही कारण है कि मुझे संदेह है कि ऐसा करना संभव नहीं होगा।

मेट्रो स्टाइल ऐप्स के संबंध में msdn पर कुछ डीएल खोज आदेश का उल्लेख किया गया है, इसके बारे में संकेत देते हुए देशी डीएलएस लोड करना संभव है?

इसके अलावा मैंने पाया इस link on msdn लोड हो रहा है "लाइब्रेरी" के बारे में बात और मैनिफ़ेस्ट फ़ाइल में PackageDependency का उल्लेख है, लेकिन मेरे लिए यह अभी भी एक तरह से पैकेज के लिए एक देशी dll जोड़ने का तरीका है कि यह P/Invoke के लिए संभव है यह स्पष्ट नहीं है यह

+0

क्या आप डीएलएल में टीसीपी/आईपी सामान को फिर से जांचने और फिर से परीक्षण करने का प्रयास कर सकते हैं? यह डीएलएल को अपनी निर्भरताओं को न ढूंढने से नहीं ढूंढ पाएगा। साथ ही, क्या आपने क्षमताओं पर जांच की है कि आप आउटगोइंग इंटरनेट कनेक्शन का उपयोग करना चाहते हैं? –

+0

मैंने डीएलएल नहीं बनाया। यह समाधान का हिस्सा नहीं है। तो मैं डीएलएल निर्माण के तरीके को बदल नहीं सकता। अच्छा मुद्दा है कि यह त्रुटि के कारण कुछ माध्यमिक निर्भरता हो सकती है! इसे एएसएपी देखेंगे। – vidstige

+1

@ vidstige आपने शायद इस मुद्दे को अभी तक हल कर लिया है, लेकिन अन्यथा कृपया एक संबंधित प्रश्न पर [मेरा जवाब] (http://stackoverflow.com/a/12122750/650012) देखें। –

उत्तर

0

इसे अपनी परियोजना में जोड़ें (प्रोजेक्ट, जोड़ें, मौजूदा आइटम पर राइट क्लिक करें।) उस आइटम के गुणों में जांचें, सामग्री सत्य पर सेट है (यह डिफ़ॉल्ट रूप से गलत है।) बिल्ड करें।

+0

आपके उत्तर के लिए धन्यवाद। यह एक सामान्य सी # पर्यावरण में काम करता है, लेकिन मैंने कोशिश की और इसे मेट्रो-प्रोजेक्ट पर काम नहीं कर सका। – vidstige

+1

"काम नहीं कर रहा" का वर्णन करें - संकलन त्रुटि? लॉन्च पर रहस्य हरे रंग की स्क्रीन? चलते समय फेंक दिया गया? –

+1

मैंने एक विशिष्ट त्रुटि संदेश के साथ प्रश्न अद्यतन किया! विधि को पी/Invoke विशेषता के साथ कॉल करते समय अपवाद फेंक दिया जाता है। – vidstige

0

यह शायद डिज़ाइन द्वारा है। आपकी समस्या त्रुटि कोड 126 LoadLibrary से लौटाई जा रही त्रुटि के कारण हो सकती है। यदि आपका एप्लिकेशन डेस्कटॉप मोड में चलता है तो आपको अपने एप्लिकेशन के लिए डेस्कटॉप मोड को लक्षित करना चाहिए। आप विंडोज के पहले संस्करण का भी उपयोग कर सकते हैं।

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