【问题标题】:MSBuild script fails but produces no errorsMSBuild 脚本失败但不产生错误
【发布时间】:2010-05-14 01:45:37
【问题描述】:

我有一个通过 TeamCity 执行的 MSBuild 脚本。

其中一项运行的任务来自 Xheo DeploxLX CodeVeil,它混淆了一些 DLL。我正在使用的任务称为 VeilProject。我已经通过界面手动运行了 CodeVeil 项目并且它工作正常,所以我认为我可以放心地假设实际的混淆过程是可以的。

此任务过去大约需要 40 分钟,而 MSBuild 文件的其余部分执行得非常完美,并且没有错误地完成。

由于某种原因,现在执行此任务需要 1 小时 20 分钟左右。 VeilProject 任务完成后,任务的输出显示它完全成功,但此时 MSBuild 脚本失败。我在 VeilProject 任务之后直接有一个任务,它没有被输出。使用 MSBUild 的诊断输出,我可以看到以下内容:

我的问题是:

  • 是否有可能 MSBuild 脚本超时?一旦任务 已经完成它是在一定的时间之后 超时时间,所以它就失败了?
  • 为什么构建会失败而没有 错误但没有警告?

[05:39:06]:[目标“混淆”] 完成。
[05:39:06]:[目标“混淆”]保存异常图
[05:49:21]:[目标“混淆”] 结束于 2010 年 11 月 5 日 05:49:21,~1 小时 48 分 6 秒
[05:49:22]:[目标“混淆”] 完成。
[05:49:51]:MSBuild 输出:
结束于 11/05/2010 05:49:21,~1 小时 48 分 6 秒 (TaskId:8)
完毕。 (任务 ID:8)
完成执行任务“VeilProject”——失败。 (任务 ID:8)
在项目“AMK_Release.proj.teamcity.patch.tcprojx”中完成构建目标“Obfuscate”——失败。:(TargetId:12)
完成构建项目“C:\Builds\Scripts\AMK_Release.proj.teamcity.patch.tcprojx”(所有目标)——失败。

项目绩效总结:
6535484 毫秒 C:\Builds\Scripts\AMK_Release.proj.teamcity.patch.tcprojx 1 次调用
6535484 毫秒所有 1 个调用

目标绩效总结:
156 毫秒 PreClean 1 次调用
266 毫秒 SetBuildVersionNumber 1 次调用
2406 毫秒 CopyFiles 1 次调用
6532391 ms 混淆 1 调用

任务绩效总结:
16 毫秒 MakeDir 2 次调用
31 毫秒 TeamCitySetBuildNumber 1 次调用
31 毫秒消息 1 调用
62 毫秒 RemoveDir 2 次调用
234 毫秒 GetAssemblyIdentity 1 调用
2406 毫秒复制 1 个调用
6528047 毫秒 VeilProject 1 调用

构建失败。
0 个警告
0 个错误

经过时间 01:48:57.46
[05:49:52]:进程退出代码:1
[05:49:55]:构建完成

【问题讨论】:

  • 尝试以最详细的方式运行 msbuild,以获取有关您的项目的程序集引用的更多信息。 (msbuild [ProjectFile.proj] /v:d)

标签: msbuild continuous-integration teamcity


【解决方案1】:

如果 .exe 没有返回标准退出代码,那么您可能需要指定在使用 IgnoreExitCode="true" 的 Exec 任务时忽略退出代码。如果这不起作用,请尝试附加参数 IgnoreStandardErrorWarningFormat="true"。

【讨论】:

  • 我从使用任务改为通过 exec 命令运行它。这给了我一个实际的错误。一旦我解决了错误,它就奏效了。感谢您的帮助。
猜你喜欢
  • 2019-03-28
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-04-22
  • 1970-01-01
  • 1970-01-01
  • 2018-05-20
  • 2019-09-10
相关资源
最近更新 更多