क्लिकऑन - सामग्री फ़ाइलों को ओवरराइट करना

मेरे पास एक समाधान है जिसे क्लिकऑन का उपयोग करके तैनात किया गया है।

इसमें एक आवेदन, कई संदर्भित असेंबली शामिल हैं और एक एसक्यूएल सर्वर कॉम्पैक्ट डेटाबेस।

एक असेंबली भी है जिसे मुख्य आवेदन द्वारा संदर्भित नहीं किया जाता है, लेकिन बस रनटाइम पर लोड किया गया। इस असेंबली के साथ तैनात करने की जरूरत है अनुप्रयोग, द्विआधारी के रूप में एक ही निर्देशिका में।

मैंने \ 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 को ओवरराइट करने के लिए कैसे मजबूर कर सकता हूं?

0

3 उत्तर

ठीक है, मुझे एक ही समस्या थी। यहां बताया गया है कि मैं इसे कैसे हल करता हूं (शायद आदर्श नहीं हो सकता है लेकिन यह काम करता है।

1) यदि आपका डीएलएल या फाइल समाधान के अंदर है, तो मैं इसे बंद कर दूंगा और इसे फिर से जोड़ूंगा। 2) अपनी परियोजना की संपत्ति के अंदर जाओ और प्रकाशित करें और एप्लिकेशन फ़ाइलें चुनें। आपको वहां अपनी फ़ाइल रखने और फिर "शामिल करें" चुनने की आवश्यकता है (ऑटो नहीं ...)।

आप नए के साथ प्रकाशित करने में सक्षम होंगे। मुझे नहीं पता कि यह क्यों काम नहीं करता है अगर मैं ऐसा नहीं करता लेकिन प्रत्येक प्रकाशित करता हूं, तो मुझे अंतिम संस्करण प्राप्त करने में सक्षम होने के लिए इन चरणों को करना होगा ...

0
जोड़ा
मैं अब उस समाधान का प्रयास करूंगा ... इस नए संस्करण को एप को तैनात करने की आवश्यकता है, कुछ तोड़ने वाले बदलाव हुए हैं। जानकारी एम 8 के लिए Thnx
जोड़ा लेखक TimothyP, स्रोत
यह चाल है :-) अब तैनात करने में सक्षम हो गया, मेरे गधे को बचाया :)
जोड़ा लेखक TimothyP, स्रोत
कोई समस्या नहीं;) हमेशा मदद करने में खुशी :)
जोड़ा लेखक Patrick Desjardins, स्रोत

मुझे यह अधिकार प्राप्त करने दें: आप ClickOnce पैकेज बनाने और तैनात करने के लिए विजुअल स्टूडियो की प्रकाशित सुविधा का उपयोग कर रहे हैं?

उसके साथ अच्छा भाग्य।

आप Mage का उपयोग करके अपने स्वयं के क्लिकऑन पैकेज का निर्माण से बेहतर हो सकते हैं।

मैंने विजुअल स्टूडियो रूट शुरू कर दिया, और जल्दी से पता चला कि यह दुख का मार्ग था। Mage का उपयोग कैसे करें, और फिर "स्वचालित" के लिए कुछ MSBuild विकल्पों को देखें।

0
जोड़ा
मैं mage के बारे में सब भूल गया, उन दिनों में कोशिश की जब ClickOnce एक वास्तविक पिटा था: पी मैं उस पर ध्यान रखूंगा।
जोड़ा लेखक TimothyP, स्रोत
ClickOnce अभी भी एक पिटा है
जोड़ा लेखक David Kemp, स्रोत

मेरी भी यही समस्या थी। मुद्दा यह था कि मेरे पास आवेदन की मूल निर्देशिका में डीएलएल था और वे परियोजना में "इन" थे।

समाधान आसान है, बस परियोजना से डीएलएल फाइलों को बाहर करें और यह समस्या दूर हो गई है।

0
जोड़ा