dll - Extracting cab file with 32 bit CabExtract library in 64bit C# application -


हाल ही में, मैं 64 bit C # application । पुस्तकालय 32 बिट अनुप्रयोग में चलने पर ठीक काम करता है, लेकिन जब 64 बिट अनुप्रयोग में प्रयोग किया गया एक ही लाइब्रेरी, यह निम्नलिखित अपवाद फेंकता है:

cabExtract.dll से आयात निम्नलिखित तरीके से लागू किया गया है:

  [DllImport ("cabExtract.dll", एंट्रीपॉईंट = "एक्स्ट्रेक्टकैबइजिन", चार्सेट = चार्ससेट। यूनिकोड, सटीक स्पेलिंग = सच)) आंतरिक स्थैतिक एक्सटेन इंट एक्स्ट्रेककैबबेजिन ();   

अपवाद: System.BadImageFormatException

संदेश: एक प्रयास था & gt; एक गलत प्रारूप के साथ एक प्रोग्राम को लोड करने के लिए बनाया। (HRESULT: 0x8007000B से अपवाद)

मुझे कैबएक्सट्रैक्ट पुस्तकालय 32 बिट के लिए समर्थन करता है। लेकिन मुझे 64 बिट के लिए कोई भी कैबएक्ट्रैक्ट लाइब्रेरी नहीं मिली है। तो, मेरा प्रश्न:

क्या यह 64 बिट प्रबंधित अनुप्रयोग से 32 बिट अप्रबंधित लाइब्रेरी का उपयोग करने में सक्षम होगा? यदि हां, तो यह कैसे किया जा सकता है?

क्या यह 32 बिट अप्रबंधित लाइब्रेरी 64 बिट प्रबंधित अनुप्रयोग से? यदि हां, तो यह कैसे किया जा सकता है?

नहीं यह संभव नहीं है। 64 बिट प्रक्रियाएं केवल 64 बिट मॉड्यूल लोड कर सकती हैं 32 बिट प्रक्रिया केवल 32 बिट मॉड्यूल लोड कर सकती है।

लाइब्रेरी जो आप जहाजों को स्रोत के रूप में लिंक करते हैं और एलजीजीएल लाइसेंस द्वारा कवर किया गया है। जब तक आप उस लाइसेंस का पालन करते हैं, तो आप कोड को एक 64 बिट डीएलएल में संकलित कर सकते हैं और अपनी 64 बिट प्रक्रिया से उपयोग कर सकते हैं।

Comments

Popular posts from this blog

Java - Error: no suitable method found for add(int, java.lang.String) -

java - JPA TypedQuery: Parameter value element did not match expected type -

c++ - static template member variable has internal linkage but is not defined -