ClickOnce केवल निर्धारित करने के लिए जो dll फ़ाइलों ग्राहक की मशीन के लिए कॉपी करने के लिए या यह भी निर्भरता फ़ाइलें निर्धारित करने के लिए एक विधानसभा के आंतरिक पूछताछ करता आवेदन मैनिफ़ेस्ट फ़ाइल पर लग रही है?ClickOnce - फ़ाइल पहले से ही मौजूद है त्रुटि - क्यों एक DLL फ़ाइल ClickOnce द्वारा दो बार कॉपी करने के लिए कोशिश कर रहा है?
कारण मैं पूछ रहा हूं क्योंकि मुझे क्लिकऑन: के साथ प्रकाशित एक WPF .NET 4 एप्लिकेशन लॉन्च करने का प्रयास करते समय नीचे क्लिकऑन त्रुटि मिल रही है फ़ाइल C:\Users\CNelson\AppData\Local\Temp\Deployment\PGX6P33A.35N\AJQL8AC8.D60\tx16_rtf.dll
पहले से मौजूद है।
यह त्रुटि तब शुरू हुई जब मैंने दो तृतीय पक्ष .NET dlls का संदर्भ शामिल किया है जो दोनों एक अप्रबंधित डीएलएल फ़ाइल (tx16_rtf.dll) का संदर्भ देते हैं। मैं tx16_rtf.dll इसलिए मैं अपने प्रोजेक्ट में यह भी शामिल है ग्राहक के पीसी पर बिन फ़ोल्डर में प्रतिलिपि और 'सामग्री' और 'हमेशा की प्रतिलिपि' के लिए आउटपुट निर्देशिका को कॉपी करने के लिए कार्रवाई बिल्ड सेट किया जा करना चाहते हैं।
हालांकि, किसी कारण से जब मैं एप्लिकेशन लॉन्च करने का प्रयास करता हूं तो ClickOnce फ़ाइल 'tx16_rtf.dll' को दो बार कॉपी करने का प्रयास कर रहा है, जिसके परिणामस्वरूप त्रुटि होती है।
यदि मैं तैनाती मैनिफेस्ट फ़ाइल को देखता हूं तो मैं स्पष्ट रूप से फ़ाइल 'tx16_rtf.dll' फ़ाइल के लिए एक और केवल एक प्रविष्टि देख सकता हूं। तो, मेरा सवाल यह है कि क्लिकऑन फ़ाइल को 'tx16_rtf.dll' दो बार कॉपी करने का प्रयास क्यों करता है यदि यह केवल तैनाती मेनिफेस्ट फ़ाइल में मौजूद है?
नीचे तैनाती मैनिफ़ेस्ट फ़ाइल है कि संदर्भ 'tx16_rtf.dll' का एक टुकड़ा है:
<file name="tx16_rtf.dll" size="839680">
<hash>
<dsig:Transforms>
<dsig:Transform Algorithm="urn:schemas-microsoft-com:HashTransforms.Identity" />
</dsig:Transforms>
<dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1" />
<dsig:DigestValue>V6i2QcARl3+1SJHCugoazb9zrOY=</dsig:DigestValue>
</hash>
</file>
इस समस्या का आपका समाधान क्या था? –
मेरा समाधान मेरी परियोजना में अप्रबंधित डीएलएस का संदर्भ नहीं देना था। इस प्रकार, ClickOnce उन्हें प्रकट में शामिल नहीं करेगा। इसके बजाए, मैंने जो किया था, वह एक ज़िप फ़ाइल में अप्रबंधित डीएलएल फाइलों को सेट करना था (सेट एक्शन टू कंटेंट 'पर सेट करें) और जब मेरा एप्लिकेशन शुरू होता है तो यह अप्रबंधित डीएलएस को सही निष्पादन निर्देशिका में अनजिप कर देगा ... और सबकुछ एक जैसा काम करता है आकर्षण। – ChrisNel52