विंडोज 64 बिट प्रक्रिया में 32 बिट डीएल लोड नहीं कर सकता - यह एक सीमा है जिसे आप बाधित नहीं कर सकते हैं। इसका मतलब यह है कि यदि आपका 32 बिट डीएलएल अन्य 32 बिट डीएलएलएस (या किसी भी 32 बिट .NET DLLS का उपयोग करता है) के लिए कोई पी/आमंत्रण करता है तो आप पूरी तरह भाग्य से बाहर होंगे (आपको पूरी वेबसाइट 32 बिट में चलाने की आवश्यकता होगी)।
जब आप काम करते हैं और जब ऐसा नहीं होता है तो आप पूरी तरह से स्पष्ट नहीं होते हैं। यहां स्पष्टीकरण दिए गए हैं:
- x86 - 32 बिट - 64 बिट प्रक्रिया में लोड नहीं किया जा सकता है।
- x64 - 64 बिट - 32 बिट मशीन पर निष्पादित नहीं किया जा सकता है।
- कोई भीCPU - दोहरी - दोनों वातावरण में लोड और निष्पादित किया जा सकता है।
AnyCPU के संदर्भ में:
64 बिट मशीन पर
- 64 बिट प्रक्रिया - DLL 64 बिट के रूप में भरी हुई है।
- 32 बिट मशीन पर 32 बिट प्रक्रिया - डीएलएल 32 बिट के रूप में लोड किया गया है।
- 64 बिट मशीन पर 32 बिट प्रक्रिया - डीएलएल 32 बिट के रूप में लोड किया गया है।
ज्यादातर मामलों में इसे किसी भीCPCP के रूप में छोड़ना ठीक है। हालांकि, जैसा कि मैंने कहा था, यदि आप किसी भी देशी या .Net 32 बिट DLL का उपयोग कर रहे हैं तो आपको अपना पूरा एप्लिकेशन 32 बिट (और ऐसा कुछ भी नहीं है जिसे आप कर सकते हैं, या माइक्रोसॉफ्ट ऐसा कर सकता है)।
स्रोत
2009-06-03 14:25:57
पर एक नज़र ले जा सकते हैं यह एक dll आप पुन: संयोजित कर सकते हैं? – kbyrd