代码之家  ›  专栏  ›  技术社区  ›  Ryan Conrad

如何使用WiX 3.5.1811.0修复HEAT5301错误

  •  2
  • Ryan Conrad  · 技术社区  · 14 年前

    heat.exe:错误HEAT5301:无效的项目输出组:Binaries3Bsources3Batellites%3bDocuments。

    <CreateItem 
      Include="@(_MSBuildProjectReferenceExistent)" 
      Condition=" '%(_MSBuildProjectReferenceExistent.DoNotHarvest)' == '' " 
      AdditionalMetadata="ProjectOutputGroups=Binaries%3BSymbols%3BSources%3BContent%3BSatellites%3BDocuments;GenerateType=payloadgroup;HeatOutput=$(IntermediateOutputPath)_%(_MSBuildProjectReferenceExistent.Filename).wxs">
      <!-- ... -->
    </CreateItem>
    

    看起来像是 % 对于前2个值被丢弃,但对于最后一个值仍然存在。

    7 回复  |  直到 14 年前
        1
  •  0
  •   Rob Mensching    14 年前

    首先尝试升级到最新版本。wixv3.5正在开发中,因此 可以

        2
  •  2
  •   Sharad Patel    14 年前

    我们的一个WiX项目(在visualstudio2008解决方案下)从wix3.0升级到wix3.5.x时也遇到了同样的错误。同样,这个问题只发生在tfs2010构建服务器上。用visualstudio构建桌面很好。

    DoNotHarvest没有帮我们解决问题。

        3
  •  2
  •   David Martin    13 年前

    将toolsversion设置为4.0对我很有用:

    <Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
    

    收件人:

    <Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" ToolsVersion="4.0">
    
        4
  •  2
  •   sjngm quinti    13 年前

    对我来说,在受影响的WiX项目中重新添加所有引用也解决了这个问题。 除此之外,财产

    <DoNotHarvest>True</DoNotHarvest> 
    

    添加到每个引用中,显然这就是解决方案。

        5
  •  2
  •   LCarter    12 年前

    我是从命令行运行heat的。所以上面提到的事情对我一点帮助都没有。最初我的配置如下:

    heat.exe project "project.csproj" -cg GroupName -gg –out "C:\OutPutLocation.wxs"
    

    heat.exe:错误HEAT5302:未指定项目输出组。

    我把它改成了 -波格 开关,还添加了 -配置 -平台 开关。

    heat.exe project "project.csproj" -cg Portals.Vendor -gg -pog Binaries -pog Content –configuration "release" -platform "AnyCPU" –out "C:\OutPutLocation.wxs"
    

    顺便说一句:我运行的版本 对于

    以防您需要的开关命令的参考 3.x条 :

    http://wix.sourceforge.net/manual-wix3/heat.htm

        6
  •  1
  •   John Bergman    14 年前

    这对我不起作用,相反,我不得不编辑wix.targets文件来删除收获的额外目录。。。幸运的是,我目前没有使用热。在我做了那个更改之后,我能够在我们的构建服务器上再次构建。

        7
  •  1
  •   Steven Bruce    13 年前

    对我来说,重新添加所有引用并没有自动解决问题,但是手动将DoNotHarvest元素添加到每个项目引用中确实解决了问题。

    推荐文章
    Muffex  ·  Wix:加热隐藏文件
    9 年前