Wix构建顺序-msbuild&;热度

Wix构建顺序-msbuild&;热度,msbuild,wix,Msbuild,Wix,我正在尝试用Heat扩展我们现有的Wix项目,以包括安装程序中另一个项目的输出目录中的所有文件。不知何故,我错过了一些应该很容易的事情,因为我想这是一项非常普通的任务 以下是解决方案的外观: SomeDependencyA.csproj SomeDependencyB.csproj (Depends on SomeDependencyA) WindowsService.csproj (Depends on SomeDependencyB) Installer.wixproj(Depends on

我正在尝试用Heat扩展我们现有的Wix项目,以包括安装程序中另一个项目的输出目录中的所有文件。不知何故,我错过了一些应该很容易的事情,因为我想这是一项非常普通的任务

以下是解决方案的外观:

SomeDependencyA.csproj
SomeDependencyB.csproj (Depends on SomeDependencyA)
WindowsService.csproj (Depends on SomeDependencyB)
Installer.wixproj(Depends on WindowsService.csproj)
Wix基本上应该从WindowsService输出文件夹中grep任何内容,并从中构建msi包。这一过程应当是:

  • 构建所有依赖项
  • 构建WindowsService项目
  • 用热产生碎片
  • 构建安装程序

这是我的问题:我必须在哪里/如何包括对热火的呼吁?预生成步骤和BeforeBuild目标不起作用,因为此时尚未生成WindowsService和依赖项。后构建不会有帮助,因为此时生成的片段将不再联合排序。我一直在寻找一些构建目标,这些目标是在所有依赖项构建完成之后,但在安装程序项目本身构建完成之前调用的。应该很容易,但我还没弄明白。

构建前目标可能会在依赖项目完成构建之前发生

我过去用于这种类型的构建顺序的解决方案是为BeforeBuild目标添加DependsOnTargets

对于csproj:

<Target Name="BeforeBuild" DependsOnTargets="ResolveReferences">  

对于vcxproj:

<Target Name="BeforeBuild" BeforeTargets="PrepareForBuild">

这将迫使项目在运行BeforeBuild目标之前等待相关项目完成