मेरे पास एक समाधान है जिसे क्लिकऑन का उपयोग करके तैनात किया गया है।
इसमें एक आवेदन, कई संदर्भित असेंबली शामिल हैं
और एक एसक्यूएल सर्वर कॉम्पैक्ट डेटाबेस।
एक असेंबली भी है जिसे मुख्य आवेदन द्वारा संदर्भित नहीं किया जाता है,
लेकिन बस रनटाइम पर लोड किया गया। इस असेंबली के साथ तैनात करने की जरूरत है
अनुप्रयोग, द्विआधारी के रूप में एक ही निर्देशिका में।
मैंने \ bin \ debug (या \ bin \ release) पर "प्लगइन" असेंबली की प्रतिलिपि बनाने के लिए विजुअल स्टूडियो सेट अप किया है
संकलन के बाद यूआई परियोजना की निर्देशिका।
मैंने फिर यूआई परियोजना में फाइल को जोड़ा,
एक संदर्भ के रूप में नहीं बल्कि एक फ़ाइल के रूप में। मैंने निर्माण सामग्री को "सामग्री" पर सेट किया है, यह
यूआई प्रोजेक्ट के गुण/प्रकाशित संवाद में यह दिखाता है।
जब मैंने पहली बार एप्लिकेशन प्रकाशित किया, तो यह एक आकर्षण की तरह काम करता था।
लेकिन फिर मैंने प्लगइन असेंबली को अपडेट किया, यहां तक कि इसे एक अलग संस्करण संख्या भी दी
और फिर से प्रकाशित, केवल विधानसभा को अद्यतन करने के लिए अद्यतन नहीं किया गया था, लेकिन पहले
एक अपलोड किया गया अभी भी इस्तेमाल किया जा रहा था। (यहां तक कि बिना किसी पूर्व स्थापित एक स्वच्छ कंप्यूटर पर)।
मैंने कुछ खुदाई की और पाया कि असेंबली (LibComposites.dll) की प्रतिलिपि बनाई गई थी
दोनों निर्देशिकाओं पर क्लिक करें जहां क्लिकऑन्स एप्लिकेशन अपनी बाइनरी स्टोर करते हैं
निर्देशिका के रूप में जहां वे डेटा फ़ाइलों को स्टोर करते हैं।
दोनों मामलों में, पहले प्रकाशित संस्करण।
अवलोकन में, मेरे पास एक ऐसा एप्लिकेशन है जो कुछ असेंबली का संदर्भ देता है:
Control.exe references -->
LibLLC.dll, LibDataLayer.dll,
LibLLCExtenders.dll
loads at
runtime --> LibComposites.dll (which
also references LibLLC.dll)
मुझे एक ही निर्देशिका में LibComposites.dll का एक नया संस्करण तैनात करने की आवश्यकता है
प्रत्येक आवेदन के रूप में आवेदन।
उस असेंबली का पहला प्रकाशित संस्करण अभी भी क्यों उपयोग किया जा रहा है
मैं प्रत्येक प्रकाशन द्वारा LibComposites.dll को ओवरराइट करने के लिए कैसे मजबूर कर सकता हूं?