【问题标题】:Light.exe running when no changesLight.exe 在没有变化时运行
【发布时间】:2016-11-30 02:05:45
【问题描述】:

我有一个应该逐步构建的 WiX 项目。但是,每次我构建它时,Light.exe 都会运行。

似乎在名为obj\x86\Debug 的中间文件夹中创建了一些跟踪文件。一个文件:

MyProj.wixproj.BindContentsFileListnull.txt

包含对 Temp 文件夹中文件的引用列表,这是一行:

C:\Users\MyUser\AppData\Local\Temp\p3qht4rl\cab_2_ConditionsInstaller\0

重建解决方案时,构建日志(详细模式)显示:

Building target "Link" completely.
Input file "C:\Users\MyUser\AppData\Local\Temp\fkzirn0a\cab_2_ConditionsInstaller\0" does not exist.

我相信由于该文件丢失,MsBuild 决定它应该再次链接。这些是临时文件,所以我希望它们会消失。每次构建后,BindContentsFileListnull.txt 中的文件列表都会更改为指向 Temp 目录的新子文件夹中的相同文件。

我的其他 wix 项目看起来还不错,不要继续重建。

我该如何解决这个问题?

light.exe的版本是:3.10.2516.0

更新

我找到了构建标志 LeaveTemporaryFiles。如果我将其设置为真正的增量构建工作正常,但临时文件(约 40Mb)不会被清理。这实际上是不可接受的,因为在构建服务器上,由于临时文件不断出现,我们遇到了磁盘填满的问题,因此我们依赖一个夜间脚本来清理它们。如果需要这些文件,它们似乎应该在中间文件夹而不是临时文件夹中,但我没有看到任何重定向它们的选项。

【问题讨论】:

    标签: wix


    【解决方案1】:

    这似乎是 WiX 中的一个错误。我已经找到了:

    使用二进制 wixlib 链接会破坏增量构建 #4060 https://github.com/wixtoolset/issues/issues/4060?_pjax=%23js-repo-pjax-container

    【讨论】:

      猜你喜欢
      • 2015-10-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-05-22
      • 1970-01-01
      • 2019-10-28
      • 1970-01-01
      相关资源
      最近更新 更多