为什么我的TeamCity构建失败,尽管MSBuild没有错误?

时间:2015-04-13 07:09:23

标签: visual-studio msbuild teamcity

TeamCity设置用于构建Visual Studio解决方案,该解决方案可由许多开发人员在本地构建。但是,当TeamCity运行构建时,它总是会使构建失败,即使MSBuild没有输出错误:

  

[08:49:02] [步骤1/1]处理退出代码1
  [08:49:02] [步骤1/1] MSBuild输出
  [08:49:02] [MSBuild输出]
  [08:49:02] [MSBuild输出] 183警告
  [08:49:02] [MSBuild输出] 0错误(s)
  [08:49:02] [MSBuild输出]
  [08:49:02] [MSBuild输出] Time Elapsed 00:01:10.65
  [08:49:03] [步骤1/1]步骤构建解决方案(Visual Studio(sln))失败

为了进行比较,这些是本地Visual Studio中构建输出的最后一行:

  

54>
  54>构建成功。
  54>
  54>时间流逝00:00:11.37
  ==========重建全部:46成功,0失败,18跳过==========

奇怪的是,我在本地找不到一行“代码1退出过程”。我已经完成了每个项目的所有前/后构建事件。我在TeamCity的整个构建日志中找到了可能的罪魁祸首,但我找不到任何与退出代码1 相关的线索。
有趣的是,构建确实产生了有效的必要工件!

为什么我的构建退出代码1?

编辑以回应评论:

  • 相同版本的msbuild
  • 在命令行中运行服务器上的msbuild,生成一个build.log文件,其结果与“x warnings,0 errors”相同。 echo %errorlevel%返回0.
  • 没有“将警告视为错误”的设置
  • 我会尝试发布以完成输出,但我需要先将其匿名化。

1 个答案:

答案 0 :(得分:0)

我可以想到3个问题:

  1. 如果遇到警告,看起来TeamCity未通过构建步骤 - 你能检查不是这种情况吗?

  2. 正如其他人所评论的那样,请尝试从命令行执行ms构建。看一下确切的命令行争论团队城市正在调用msbuild。

  3. 项目本身有“将警告视为错误”的设置,但msbuild会遵守这些规则。你定制了你的构建吗?有关详细信息,请参阅this