Ste*_*ngs 11 xml wix visual-studio
WiX文件可以使用$(var.ProjectName.TargetPath)
语法引用其他项目.但是,我有一个名称为(My.Project)的项目.我怎么能参考这个?我试过了:
$(var.My.Project.TargetPath)
$(var.My.Project.TargetPath)
$(var.My\.Project.TargetPath)
$(var.{My.Project}.TargetPath)
$(var.(My.Project).TargetPath)
$(var.[My.Project].TargetPath)
$(var.MyProject.TargetPath)
$(var.My%2EProject.TargetPath)
我得到的构建错误是:
未定义的预处理器变量'$(var.My.Project.TargetPath)'
Ste*_*ngs 14
答案是肯定的,方法是:
$(var.My.Project.TargetPath)
Run Code Online (Sandbox Code Playgroud)
事实证明,我是一个忘记添加项目引用到他的安装程序项目的人.
对不起,我正在使用WiX 3.5,我无法重现你的问题.我创建了一个示例解决方案,其中包含一个名为"Foo.Bar"的类库和一个带有"Foo.Bar"项目引用的合并模块.
我的wixproj看起来像:
<ItemGroup>
<ProjectReference Include="..\Foo.Bar\Foo.Bar.csproj">
<Name>Foo.Bar</Name>
<Project>{0bd367ce-5072-4161-8447-ff4deed97bd4}</Project>
<Private>True</Private>
<DoNotHarvest>True</DoNotHarvest>
<RefProjectOutputGroups>Binaries;Content;Satellites</RefProjectOutputGroups>
<RefTargetDir>INSTALLLOCATION</RefTargetDir>
</ProjectReference>
</ItemGroup>
Run Code Online (Sandbox Code Playgroud)
我的wxs看起来像:
<Binary Id="TEST" SourceFile="$(var.Foo.Bar.TargetPath)"/>
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
4414 次 |
最近记录: |