在Visual Studio Team Services上构建WiX超时

Sco*_*and 7 msbuild wix visual-studio 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.
Run Code Online (Sandbox Code Playgroud)

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

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

任何想法我错过了什么,为什么这不起作用?

Sco*_*and 17

我在wixtoolset GitHub项目中发现了一个帖子,记录了WiX 3.10如果在构建过程中产生任何警告或错误消息,则会出现与WiX项目发生死锁的错误.

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

/p:RunWixToolsOutOfProc=true
Run Code Online (Sandbox Code Playgroud)

这解决了我的Light.exe过程超时问题.