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)
" 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...",这显然足以使其能够构建文件夹结构长度的变化。
我搜索了这个站点和其他站点,但似乎无法找到 运行 遇到此特定错误的任何人。任何信息都可能有所帮助。
构建 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)
" 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...",这显然足以使其能够构建文件夹结构长度的变化。