我有一个现有的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
的所有选项,结果相同。
我缺少什么想法以及为什么这不起作用?
答案 0 :(得分:13)
我在wixtoolset GitHub project中发现了一条帖子,记录了WiX 3.10
中有关WiX项目发生死锁的错误,如果构建过程中出现任何警告或错误消息。
解决方法是在构建步骤中添加以下MSBuild Arguments
:
/p:RunWixToolsOutOfProc=true
这解决了Light.exe
进程超时问题。