在Visual Studio Team Services上构建WiX超时

时间:2017-02-10 20:16:26

标签: visual-studio msbuild wix azure-devops

我有一个现有的XAML构建,我正在移植到Visual Studio Team Services构建。有一个包含两个wixproj项目的解决方案文件,这个版本在当前(传统XAML)托管构建控制器(使用WiX Toolset v3.7)上没有任何问题。

在VS TS中,我创建了一个新的构建过程,并使用 Visual Studio Build 步骤向构建解决方案添加了一个步骤。我已经将解决​​方案路径设置为包含两个wixproj项目的sln。所有其他选项都是默认值,但超时设置为10分钟。

构建步骤启动但在调用Light.exe步骤后超时,如下面的日志中所示:

PrepareForBuild:
  Creating directory "obj\Debug\".
  Creating directory "bin\Debug\".
Compile:
  C:\Program Files (x86)\WiX Toolset v3.10\bin\candle.exe -dDebug ...
  Windows Installer XML Toolset Compiler version 3.10.3.3007
  Copyright (c) .NET Foundation and contributors. All rights reserved.

  {myfile}.wxs
Link:
  C:\Program Files (x86)\WiX Toolset v3.10\bin\Light.exe -out ...
  Windows Installer XML Toolset Linker version 3.10.3.3007
  Copyright (c) .NET Foundation and contributors. All rights reserved.

##[error]The task has timed out.

构建将运行10分钟,然后抛出超时错误。通常需要约1分钟才能完成。日志中没有关于这可能超时的原因或原因。

我看到VS TS Build使用的是WiX版本3.10,但是WiX版本3.10在我本地工作以构建同样的sln。我已经在构建步骤中尝试了Visual Studio Version的所有选项,结果相同。

我缺少什么想法以及为什么这不起作用?

1 个答案:

答案 0 :(得分:13)

我在wixtoolset GitHub project中发现了一条帖子,记录了WiX 3.10中有关WiX项目发生死锁的错误,如果构建过程中出现任何警告或错误消息。

解决方法是在构建步骤中添加以下MSBuild Arguments

/p:RunWixToolsOutOfProc=true

这解决了Light.exe进程超时问题。