Wix 构建 "AssignTargetPath" Heat.exe 中的错误

Wix Build "AssignTargetPath" Error in Heat.exe

我搜索了这个站点和其他站点,但似乎无法找到 运行 遇到此特定错误的任何人。任何信息都可能有所帮助。

构建 Content Wix 时出现以下错误。解决方案的其余部分构建得很好,包括 Infrastructure Wix 和 MPS.Content Wix。

heat.exe(0,0): error HEAT5313: Build error during harvesting: C:\WINDOWS\Microsoft.NET\Framework\v4.0.30319\Microsoft.Common.targets(2132,5): The "AssignTargetPath" task failed unexpectedly.

我不知道这是否对您有帮助,但我总是将其用作热收集文件的模板(您唯一需要更改的是目录值。

在您的 wixproj 文件中:

  <Target Name="BeforeBuild">
<HeatDirectory NoLogo="$(HarvestDirectoryNoLogo)" SuppressAllWarnings="$(HarvestDirectorySuppressAllWarnings)" SuppressSpecificWarnings="$(HarvestDirectorySuppressSpecificWarnings)&#xD;&#xA;" ToolPath="$(WixToolPath)" TreatWarningsAsErrors="$(HarvestDirectoryTreatWarningsAsErrors)" TreatSpecificWarningsAsErrors="$(HarvestDirectoryTreatSpecificWarningsAsErrors)" VerboseOutput="$(HarvestDirectoryVerboseOutput)" AutogenerateGuids="$(HarvestDirectoryAutogenerateGuids)" GenerateGuidsNow="$(HarvestDirectoryGenerateGuidsNow)" OutputFile="HeatGenerated.wxs" SuppressFragments="$(HarvestDirectorySuppressFragments)" SuppressUniqueIds="$(HarvestDirectorySuppressUniqueIds)" Transforms="%(HarvestDirectory.Transforms)" Directory="C:\Users\Bla" ComponentGroupName="Serviceware_CommonAssemblies" DirectoryRefId="PATHNAME" KeepEmptyDirectories="true" PreprocessorVariable="var.SourceDir" SuppressCom="%(HarvestDirectory.SuppressCom)" SuppressRootDirectory="true" SuppressRegistry="%(HarvestDirectory.SuppressRegistry)">
</HeatDirectory>

然后在你的 wxs 文件中:

   <Directory Id="TARGETDIR" Name="SourceDir">
  <Directory Id="ProgramFilesFolder">
    <Directory Id="PATHNAME" />
  </Directory>
</Directory>

和link收获的文件也在wxs中:

    <ComponentGroupRef Id="Serviceware_CommonAssemblies"  />

事实证明,对于在内容 WIX 中引用的 Web 服务项目中使用的文件之一,TFS 中的文件夹结构太长。

所以我将我的 TFS 文件夹从 "C:\Projects\Enterprise\etc..." 重新映射到 "C:\Projects\E\etc...",这显然足以使其能够构建文件夹结构长度的变化。