मैं क्रम में WiX उपयोग करने के लिए शुरू कर स्वचालित है करने के लिए MSI मेरी सी # परियोजनाओं के के बनाने के लिए और त्रुटि "अपरिभाषित पूर्वप्रक्रमक चर '$ (var.MyProject.TargetDir)'"WiX अपरिभाषित पूर्वप्रक्रमक चर
का सामना कर रहा हूँ बनाता हैमैं नवीनतम वाईएक्स v3.0.5419 का उपयोग कर रहा हूं। अंदर मेरी wxs फाइल मैं पूर्व प्रोसेसर चर है कि इस वेबपेज पर सूचीबद्ध हैं उपयोग करने के लिए कोशिश कर रहा हूँ (http://blogs.msdn.com/jrock/archive/2008/01/29/complete-list-of-candle-preprocessor-variables.aspx)
<Component Id="MyId" Guid="MyGuid">
<File Id="MyId" Name="MyName" KeyPath="yes"
Source="$(var.MyProject.TargetDir)\MyName.dll" />
</Component>
मैं .wixproj को MyProject के लिए संदर्भ जोड़ लिया है और मैं यह कर सकते हैं अगर मैं इसे नोटपैड में खोलने के ऊपर संदर्भ देखें।
<ItemGroup>
<ProjectReference Include="..\MyProject.csproj">
<Name>MyProject</Name>
<Project>{guid}</Project>
<Private>True</Private>
</ProjectReference>
</ItemGroup>
यह मेरी नैन बिल्ड स्क्रिप्ट है जिसका उपयोग मैं एमएसआई बनाने के लिए करता हूं। शायद ऐसा इसलिए है क्योंकि .wixproj परियोजना संदर्भ के बारे में जानता है जिसका निर्माण में उपयोग नहीं किया जाता है?
<exec basedir="${tools.wix}" managed="true" program="candle.exe">
<arg line='-out "${tools.wix.objfile}"' />
<arg value="../MySetup.wxs" />
</exec>
क्या कोई मुझे इस पर प्रबुद्ध कर सकता है?
बहुत बहुत धन्यवाद। मुझे अभी पता चला है कि wixproj एक msbuild फ़ाइल है और मैं वास्तव में पहले से ही अपने समाधान के निर्माण के माध्यम से इसे सही ढंग से बना रहा था! – David
बस एक त्वरित सिर के रूप में - विकल्प निर्दिष्ट करने का सही तरीका -DMyProject.TargetDir होगा। अग्रणी var। गलत है http://geekswithblogs.net/Howard/archive/2009/01/20/wix-variables.aspx –
@ सेन: सुधार के लिए धन्यवाद। फिक्स्ड। –