मुझे कुछ विरासत 32-बिट कोड को एकीकृत करने की आवश्यकता है - जिसके लिए मेरे पास स्रोत कोड नहीं है, इस तरह से एक परियोजना में इसे 64-बिट .NET असेंबली से बुलाया जा सकता है। मूल कोड को डीएलएल में 32-बिट COM ऑब्जेक्ट के रूप में कार्यान्वित किया जाता है। विंडोज 64 से 32-बिट ऑब्जेक्ट्स से सीधी कॉल की अनुमति नहीं देता है, इसलिए मैं इस स्थिति से निपटने के तरीके पर प्रेरणा की तलाश में हूं।64 से 32 बिट इंटरऑप - कैसे?
64-बिट .NET असेंबली से विरासत 32-बिट COM ऑब्जेक्ट का उपयोग कैसे किया जा सकता है?
अद्यतन: हमने पाया कि COM घटक स्वयं कुछ एएनएसआई सी के चारों ओर एक रैपर था, जिसे हम मूल स्रोत के लिए तैयार करते हैं। हम विजुअल स्टूडियो में मूल 64-बिट डीएल के रूप में संकलित करने में सक्षम थे, और .NET में आयात करते हैं - लक्ष्यपोस्ट को स्थानांतरित करने के लिए खेद है!
टिप्पणी, क्योंकि मैंने इसे नहीं किया है, लेकिन आपको यह सुनिश्चित करना होगा कि आप COM ऑब्जेक्ट को आउट-ऑफ-प्रोसेस सर्वर के रूप में चलाएं। यदि आप इसे प्रक्रिया के रूप में लोड करते हैं, तो यह 64-बिट के रूप में चल रहा है, जो असफल हो जाएगा। –