我開始爲了使用維克斯做自動化生成創建我的C#項目的微星和我遇到的錯誤「未定義的預處理器變量‘$(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>
我已經添加了MyProject的參考了.wixproj,如果我在記事本打開它,我可以看參考。
<ItemGroup>
<ProjectReference Include="..\MyProject.csproj">
<Name>MyProject</Name>
<Project>{guid}</Project>
<Private>True</Private>
</ProjectReference>
</ItemGroup>
這是我用來創建msi的nant構建腳本。也許這是因爲.wixproj知道在構建中沒有使用的項目引用?
<exec basedir="${tools.wix}" managed="true" program="candle.exe">
<arg line='-out "${tools.wix.objfile}"' />
<arg value="../MySetup.wxs" />
</exec>
任何人都可以在這方面給我啓發嗎?
非常感謝。我剛發現wixproj是一個msbuild文件,實際上我已經通過構建我的解決方案來正確構建它! – David 2010-01-14 14:15:23
就像快速向上 - 指定選項的正確方法是-dMyProject.TargetDir。領先的變種。是錯誤的。 http://geekswithblogs.net/Howard/archive/2009/01/20/wix-variables.aspx – 2011-12-21 00:22:17
@肖恩:感謝您的糾正。固定。 – 2011-12-21 09:47:59