यह विशुद्ध रूप से एक परिनियोजन समस्या है, आपको कभी भी विभिन्न परियोजनाओं को बनाए रखने की आवश्यकता नहीं होनी चाहिए। हालांकि यह एक अजीब है, और ओरेकल पर खुद की देखभाल नहीं करने के लिए बू। एक और विचार यह है कि यह असेंबली वास्तव में लक्ष्य मशीन पर ngen-ed होनी चाहिए। कुछ विकल्प
- दो इंस्टॉलर बनाएं, एक x64 के लिए और दूसरा x86 के लिए। ग्राहक अपने द्वारा उपयोग किए जाने वाले ऑपरेटिंग सिस्टम के आधार पर सही को चुनता है। काफ़ी आसान है, आप बस सही फ़ाइल की प्रतिलिपि बनाएँ।
- दोनों असेंबलियों को जीएसी में तैनात करें। अब यह स्वचालित है, .NET किसी भी प्रकार की मशीन में से सही को चुनता है। बड़ी कंपनियों को लगभग हमेशा GAC का उपयोग करना चाहिए ताकि वे सुरक्षा अद्यतनों को परिनियोजित कर सकें, सुनिश्चित नहीं हैं कि Oracle ऐसा क्यों नहीं करता है।
- असेंबली को स्थापित निर्देशिका की x86 और x64 उपनिर्देशिका में परिनियोजित करें। आपको एक AppDomain.AssemblyResolve ईवेंट हैंडलर लिखना होगा, जो IntPtr.Size के मान के आधार पर, सही निर्देशिका चुनता है।
- अपने EXE प्रोजेक्ट के लक्ष्य प्लेटफॉर्म को x86 में बदलें। यह देखते हुए कि आपके कोड को 32-बिट मशीन के साथ-साथ 64-बिट मशीन पर काम करने की आवश्यकता है, AnyCPU के निर्माण का कोई कारण नहीं होना चाहिए।