10.2 पर आर्कगिस 10.1 आवेदन चलाएँ


10

मैं एक .NET अनुप्रयोग का समर्थन करता हूं जिसे आर्कजीआईएस 10.1 के साथ पीसी पर संकलित किया गया है। एप्लिकेशन में एक उपयोगकर्ता इंटरफ़ेस और एक आर्किज डेस्कटॉप एक्सटेंशन शामिल है, साथ ही एक इंस्टॉलर असेंबली जिसे स्थापना के बाद डेस्कटॉप एक्सटेंशन को पंजीकृत करने के लिए विंडोज इंस्टालर द्वारा बुलाया जाता है।

मेरे पास समस्या यह है कि एप्लिकेशन ArcGIS 10.2 के साथ एक पीसी पर नहीं चलेगा क्योंकि 10.1 ESRI असेंबलियों को नहीं मिला है इसलिए यह क्रैश हो जाता है। ऐसा लगता है कि v9.3 ईएसआरआई के बाद से प्रकाशक नीति को नवीनतम संस्करणों के रनटाइम पर प्रोग्राम को पुनर्निर्देशित करने के लिए और अधिक आपूर्ति नहीं करता है।

मैंने एप्लिकेशन के .exe.config में रनटाइम असेंबली बाइंडिंग जोड़कर 10.2 विधानसभाओं को लोड करने के कार्यक्रम को पुनर्निर्देशित किया है। हालाँकि, यह डेस्कटॉप एक्सटेंशन को रीडायरेक्ट नहीं करता है और एप्लिकेशन इंस्टॉल करते समय 10.1 लाइब्रेरी की तलाश में इंस्टॉलर के साथ समस्या को हल नहीं करेगा।

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

क्या किसी के पास कोई सुझाव है? क्या विशिष्ट संस्करण की तलाश से बचने के लिए पुस्तकालयों को गतिशील रूप से रनटाइम पर लोड किया जा सकता है? क्या कोई और उपाय है?

जवाबों:


2

निम्नलिखित गुणों का उपयोग करने के लिए अपनी परियोजना में ArcGIS संदर्भ सेट करें:

Copy Local = False
Specific Version = False

ज्यादातर मामलों में यह आपके प्रोग्राम को आगे के लिए अनुकूल बना देगा।


मेरे पास पहले से ही Visual Studio में ये सेटिंग्स हैं। 'विशिष्ट संस्करण = गलत' केवल प्रभावित करता है कि कैसे विजुअल स्टूडियो संदर्भों को लोड करता है, न कि एक बार एक एप्लिकेशन को बनाया और तैनात किया जाता है।
एंडी

2

आपके लिए अपनी परियोजना वास्तुकला को ESRI ऐड-इन में बदलना सबसे अच्छा हो सकता है। इस तरह से आप विंडोज इंस्टॉलर के साथ काम करने से बचेंगे, अगर मैं आपकी वास्तुकला को सही ढंग से समझता हूं तो विंडोज़ रजिस्ट्री से निपटना होगा।

ऐड-इन बहुत अधिक सीधे हैं, विंडोज़ विशिष्ट इंस्टॉलर की आवश्यकता नहीं है, उन्हें सिर्फ एक विशेष .zip फ़ाइल के रूप में शिप किया जाता है जो .esriAddIn फ़ाइल प्रकार है, और ESRI द्वारा अनुशंसित हैं। ये केवल विंडोज़ रजिस्ट्री के साथ सौदा नहीं करते हैं, केवल ESRI और फ़ाइल के एक क्लिक के साथ इंस्टॉल होते हैं। उन्हें उन परिवर्तनों को बेहतर ढंग से लागू करना चाहिए जो रिच वावरज़ोनक ने सुझाए हैं।

इसके अतिरिक्त ESRI ने कहा है ( यहां प्रस्तुति में देखें ) कि प्रमुख संस्करणों के भीतर यानी 10.x ऐड-इन्स पीछे संगत हैं, अर्थात 10.2 10.1 और 10.0 ऐड-इन का उपयोग कर सकते हैं, 10.1 10.0 ऐड-इन का उपयोग कर सकते हैं। कैविएट के साथ कि आपको अवगत होना चाहिए यदि संक्रमण करते समय आर्कोबजेक्ट्स में चीजों को हटा दिया गया है या बदल दिया गया है।

उदाहरण के लिए OnContextMenu विधि के लिए हस्ताक्षर 10.2 में निम्नलिखित इंटरफेस के लिए बदल दिए गए हैं:

  • IDocumentEvents
  • IGxDocumentEvents
  • IGMxDocumentEvents
  • ISxDocumentEvents

जहाँ तक हटाने के लिए 10.2 में एकमात्र निष्कासन थे :

  • MaplexUI
    • MaplexExtension
    • MaplexExtensionClass

बाकी परिवर्तनों को कार्यक्षमता में जोड़ा गया था।

नीचे दिए गए टिप्पणियों में अपने प्रश्न का उत्तर देने के लिए, हाँ यह गारंटी होनी चाहिए कि आपको आर्क के विभिन्न संस्करणों के लिए संकलन करने की आवश्यकता नहीं है (जब तक आप 10.x में रहते हैं)। जब वे 11 में बदलाव करते हैं तो यह एक अलग कहानी हो सकती है। जहां तक ​​MapInfo का समर्थन करने की बात है, मैं इससे परिचित नहीं हूं।


सुझाव के लिए धन्यवाद, लेकिन मेरे पास दो विचार हैं: 1. क्या यह डीएलएल संस्करणों के मुद्दे को प्राप्त करने के लिए गारंटी देता है या आर्कगिस के प्रत्येक संस्करण के लिए ऐड-इन को अभी भी फिर से तैयार करने की आवश्यकता है? समस्या इंस्टॉलर या रजिस्ट्री के साथ नहीं है - समस्या यह है कि ESRI अब नई रिलीज़ के साथ प्रकाशक नीति फ़ाइलें प्रदान नहीं करता है। 2. मेरा आवेदन केवल आर्कगिस के लिए नहीं है, यह मैपइन्फो के साथ भी काम करता है। इसलिए एप्लिकेशन का बल्क एक स्टैंडअलोन इंटरफ़ेस है और कोड का केवल एक छोटा सा हिस्सा आर्कगिस या मैपइन्फो से संबंधित है।
एंडी

एंडी को अपनी चिंताओं को दूर करने के लिए मेरे जवाब में जोड़ देखें।
जियोशर
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.