मेरे ClickOnce स्थापना विफल पर हस्ताक्षर "फाइल एक अलग गणना हैश मालसूची में निर्दिष्ट की तुलना में है।" निर्माण स्क्रिप्ट से प्रासंगिक पंक्ति: इस प्रकारत्रुटि जब एक त्रुटि के साथ EXE
<MSBuild Targets="Publish"
Projects="WindowsFormsProject.csproj"
ContinueOnError="false" />
WindowsFormsProject.csproj, एक कदम के बाद बिल्ड कि निष्पादन योग्य संकेत है:
signtool sign /a $(ProjectDir)\obj\$(PlatformName)\$(ConfigurationName)\$(TargetFileName)
मुसीबत, है जब मैं निर्माण पर देखने के लॉग इन मैं देखता हूं कि पोस्ट-बिल्ड इवेंट निष्पादित होने से पहले प्रकट होता है। तो यह आश्चर्य की बात नहीं है कि हैश कोड मेल नहीं खाते हैं। निर्माण लॉग से प्रासंगिक लाइनों:
_CopyManifestFiles:
WindowsFormsProject -> ...\WindowsFormsProject.application
...
PostBuildEvent:
Successfully signed: ...\WindowsFormsProject.exe
तो, सवाल कर रहे हैं:
- वहाँ से पहले प्रकट <MSBuild> कार्य के दौरान उत्पन्न होता है विधानसभा हस्ताक्षर करने के लिए कोई तरीका है?
- बिल्ड पूरा होने के बाद मेनिफेस्ट को फिर से उत्पन्न करने के लिए कोई तरीका है (और केवल प्रकट) ताकि हैश कोड दोबारा मिल जाए?
या, यदि आप समस्या के एक अलग समाधान के बारे में सोच सकते हैं, तो मैं आपके विचारों की सराहना करता हूं।
यदि कोई भी वही गलती करता है तो मैंने किया ... मैंने 'उत्तर' के साथ इस उत्तर 'पोस्टबिल्ड' का अर्थ दिया। यह गलत है। 'लक्ष्य' परियोजना स्तर पर होना चाहिए। –