TFS构建“获取源”步骤在WiX Toolset NuGet包上失败

时间:2018-07-27 10:30:49

标签: tfs build wix

我正在使用非XAML TFS构建;我的解决方案包括许多WiX安装程序项目。我已经在每个安装程序项目中安装了WiX.Toolset.2015 NuGet软件包。我的解决方案在Visual Studio中成功构建,并且按预期为每个WiX项目生成了.msi安装程序文件。

但是,当我启动TFS构建时,“获取源代码”步骤将返回错误。 从步骤日志中可以看出,WiX NuGet软件包的内容已成功复制到我的构建服务器中(请参见下面的日志摘录,尤其是ThmViewer.exe):

2018-07-27T09:25:08.2583873Z D:\[build_folder]\[build_subfolder]\Source\packages\WiX.Toolset.2015.3.10.0.1503:
2018-07-27T09:25:08.2583873Z Getting content
2018-07-27T09:25:08.2583873Z Getting readme.txt
2018-07-27T09:25:08.2583873Z Getting tools
2018-07-27T09:25:08.2583873Z Getting WiX.Toolset.2015.3.10.0.1503.nupkg
2018-07-27T09:25:08.2583873Z 
2018-07-27T09:25:08.2583873Z D:\[build_folder]\[build_subfolder]\Source\packages\WiX.Toolset.2015.3.10.0.1503\content:
2018-07-27T09:25:08.2583873Z Getting WiX.Toolset.DummyFile.txt
2018-07-27T09:25:08.3365150Z 
2018-07-27T09:25:08.3365150Z D:\[build_folder]\[build_subfolder]\Source\packages\WiX.Toolset.2015.3.10.0.1503\tools:
2018-07-27T09:25:08.3365150Z Getting Install.ps1
2018-07-27T09:25:08.3365150Z Getting Remove.psm1
2018-07-27T09:25:08.3990132Z Getting Uninstall.ps1
2018-07-27T09:25:08.4615127Z Getting wix
2018-07-27T09:25:08.4615127Z 
2018-07-27T09:25:08.4615127Z D:\[build_folder]\[build_subfolder]\Source\packages\WiX.Toolset.2015.3.10.0.1503\tools\wix:
2018-07-27T09:25:08.4615127Z Getting candle.exe
2018-07-27T09:25:08.5084025Z Getting candle.exe.config
2018-07-27T09:25:08.5396418Z Getting darice.cub
2018-07-27T09:25:08.6490185Z Getting dark.exe
...
2018-07-27T09:25:10.3365325Z Getting smoke.exe.config
2018-07-27T09:25:10.4146591Z Getting ThmViewer.exe ***
2018-07-27T09:25:10.4615352Z Getting torch.exe
...
2018-07-27T09:25:12.5865476Z D:\[build_folder]\[build_subfolder]\Source\packages\WiX.Toolset.2015.3.10.0.1503\tools\wix\doc:
2018-07-27T09:25:12.5865476Z Getting bal.xsd
2018-07-27T09:25:12.7584269Z Getting complus.xsd
2018-07-27T09:25:12.8209262Z Getting Dependency.xsd
2018-07-27T09:25:12.8834264Z Getting difxapp.xsd
...

然后,进一步查看同一步骤的日志(获取源),我们看到:

2018-07-27T09:25:35.1492409Z D:\[build_folder]\[build_subfolder]\Source\packages\WiX.Toolset.2015.3.10.0.1503\tools\wix\ThmViewer.exe: Could not find file 'D:\[build_folder]\[build_subfolder]\Source\packages\WiX.Toolset.2015.3.10.0.1503\tools\wix\ThmViewer.exe'.
2018-07-27T09:25:42.2586735Z 
2018-07-27T09:25:42.2586735Z ---- Summary: 0 conflicts, 0 warnings, 1 errors ----
2018-07-27T09:25:42.2586735Z D:\[build_folder]\[build_subfolder]\Source\packages\WiX.Toolset.2015.3.10.0.1503\tools\wix\ThmViewer.exe: Could not find file 'D:\[build_folder]\[build_subfolder]\Source\packages\WiX.Toolset.2015.3.10.0.1503\tools\wix\ThmViewer.exe'. ***
2018-07-27T09:25:42.5868038Z ##[error]Exit code 1 returned from process: file name 'tf', arguments 'vc get /version:887970 /recursive /overwrite D:\[build_folder]\[build_subfolder] /loginType:OAuth /login:.,******** /noprompt'.
2018-07-27T09:25:42.6024247Z ##[section]Finishing: Get Sources

在此解决方案的其他项目中,我还安装了其他NuGet软件包;所有其他来源均已恢复,没有任何问题。 我已经仔细检查了本地计算机上的包源文件夹,并且ThmViewer.exe位于\ packages \ WiX.Toolset.2015.3.10.0.1503 \ tools \ wix文件夹中;所有来源都被签入TFS。

我正在努力理解为什么尽管有日志指示成功复制了ThmViewer.exe文件,但仍无法在构建服务器上找到它。对于能帮助您解决问题的任何见解,我将不胜感激。

谢谢。

1 个答案:

答案 0 :(得分:0)

就像Daniel所说的,我们不建议在源代码控制中获取nuget软件包,您应该使用NugGet软件包还原。

无论采取什么措施来缩小问题范围,

  • 检查是否可以找到文件 D:\[build_folder]\[build_subfolder]\Source\packages\WiX.Toolset.2015.3.10.0.1503\tools\wix\ThmViewer.exe 在构建服务器上的工作文件夹下。如果不存在,那就 将不起作用。
  • 缩小路径长度。
  • 隐藏程序包文件夹,添加一个Nuget Restore任务以还原 包

enter image description here