2009-09-03 7 views
5

मैं ग्राहक की मशीन पर स्थापित Office संस्करण के आधार पर दो अलग-अलग Microsoft.Office.Interop असेंबली (संस्करण 11 और 12) का उपयोग करना चाहता हूं।एक परियोजना में दो अलग-अलग माइक्रोसॉफ्ट इंटरऑप असेंबली का उपयोग कैसे करें?

मैं अपने प्रोजेक्ट में इन दो एस्सेब्ली को जोड़ने में सक्षम हूं (मैं उन्हें लोककैली का उपयोग कर रहा हूं - वे मेरे बिन फ़ोल्डर में हैं, दो अलग-अलग उपफोल्डर्स में), मैंने इन असेंबली पर एलियास का इस्तेमाल दोनों को करने में सक्षम होने के लिए किया था उन्हें मेरी परियोजना में (क्रमशः, उपनाम Excel11 और Excel12 हैं)।

लेकिन unfourtunately, जब मैं समाधान मैं चेतावनी हो रही है का निर्माण करने की कोशिश कर रहा हूँ:

कोई रास्ता नहीं "Microsoft.Office.Interop.Excel, संस्करण के बीच संघर्ष को हल करने = 12.0.0.0, संस्कृति = तटस्थ, PublicKeyToken = 71e9bce111e9429c "और " Microsoft.Office.Interop.Excel, संस्करण = 11.0.0.0, संस्कृति = तटस्थ, PublicKeyToken = 71e9bce111e9429c "। का चयन करना "माइक्रोसॉफ्ट.ऑफिस.इंटरोप.एक्ससेल, संस्करण = 12.0.0.0, संस्कृति = तटस्थ, पब्लिककेट टोकन = 71e9bce111e9429c" मनमाने ढंग से।

+1

संदर्भ गुणों में एम्बेड इंटरफ़ेस प्रकार को सही पर सेट करने का प्रयास करें – igelineau

उत्तर

0

हाँ यह सकल, लेकिन समझ में आता है। मैं कम-कम पीढ़ी के लिए ओपन एक्सएमएल एसडीके में देखने की दृढ़ता से अनुशंसा करता हूं। लेकिन मैं समय की कमी और अन्य आवश्यकताओं को समझता हूं ताकि यदि आप नहीं कर सकें ... मैं यही करूँगा।

यह सुनिश्चित करने के लिए कि एक ही पृष्ठ पर थे, यहां मैं http://www.dotnetperls.com/extern को अलियासिंग के बारे में सोच रहा हूं, अगर आपके लिए काम नहीं कर रहे कुछ अजीब कारणों के लिए, तो एक और दृष्टिकोण है जिसका आप नीचे उपयोग कर सकते हैं।

सफाई के लिए आप कुछ नई परियोजनाएं बना सकते हैं। प्रत्येक संस्करण के लिए आपको एक को लागू करने की आवश्यकता है, उन्हें Excel11, Excel12 जैसे कुछ संस्करण विशिष्ट नाम दें।

फिर उन कार्यों के लिए रैपर कक्षाएं बनाएं जिन्हें आप प्रत्येक से एक्सेस करने में सक्षम होना चाहते हैं, आप फैंसी डेंसी प्राप्त कर सकते हैं और एक अलग आम परियोजना में एक अमूर्त वर्ग बना सकते हैं जो आपके रैपर वर्गों का विस्तार होता है, ताकि आप उन्हें सामान्य रूप से संदर्भित कर सकें एकरूपता के लिए सार वर्ग नाम द्वारा मुख्य कोड। आपको बस अपनी मुख्य परियोजना में नई परियोजनाओं के संदर्भ जोड़ने की आवश्यकता है, और आप जिस रैपर को चाहते हैं उसके आधार पर चयन करें, हालांकि आप संस्करण, रजिस्ट्री कुंजी या अन्यथा जांच रहे हैं। आशा करता हूँ की ये काम करेगा।

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