我开始使用 WiX 进行自动构建以创建我的 c# 项目的 msi,并且遇到错误“未定义的预处理器变量 '$(var.MyProject.TargetDir)'”
我正在使用最新的 WiX v3.0.5419。在我的 wxs 文件中,我尝试使用此网页上列出的预处理器变量(http://blogs.msdn.com/jrock/archive/2008/01/29/complete-list-of-candle-preprocessor-变量.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>
任何人都可以启发我吗?