visual-studio - 为什么我的 TeamCity 构建失败,即使 MSBuild 没有错误?

标签 visual-studio msbuild teamcity

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

[08:49:02][Step 1/1] Process exited with code 1
[08:49:02][Step 1/1] MSBuild output
    [08:49:02][MSBuild output]
    [08:49:02][MSBuild output] 183 Warning(s)
    [08:49:02][MSBuild output] 0 Error(s)
    [08:49:02][MSBuild output]
    [08:49:02][MSBuild output] Time Elapsed 00:01:10.65
[08:49:03][Step 1/1] Step Build solution (Visual Studio (sln)) failed



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

54>
54>Build succeeded.
54>
54>Time Elapsed 00:00:11.37
========== Rebuild All: 46 succeeded, 0 failed, 18 skipped ==========



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

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

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

    我能想到3个问题:

  • 如果遇到警告,TeamCity 似乎无法通过构建步骤 - 您能检查一下情况并非如此吗?
  • 正如其他人评论的那样,请尝试从命令行进行 ms 构建。查看 Team city 调用 msbuild 的确切命令行参数。
  • 项目本身有设置“将警告视为错误”,但 msbuild 将遵守这些规则。您是否自定义了构建?欲了解更多信息,请参阅 this .
  • 关于visual-studio - 为什么我的 TeamCity 构建失败,即使 MSBuild 没有错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29599666/

    相关文章:

    git - 尝试使用 TFS 和 GIT merge 分支时访问拒绝写入 VS 项目 .suo

    c++ - 在 Visual Studio 监 window 口中显示数组范围,包括特殊字符。

    visual-studio-2010 - 如何从 CruiseControl.Net 触发 NuGet v2.x 包还原

    asp.net - TeamCity 构建中的 Web 部署 + EF 迁移

    msbuild - 如何对team city编译的源代码进行混淆

    c++ - UDP recvfrom()导致问题

    c# - 在 Visual Studio 中使用 Xamarin 构建跨平台应用程序时要使用哪个 libsodium .NET 包装器?

    .net - 使用 MSBuild, '$(SolutionDir)' 错误地解析为 C :\when running 'msbuild/t:restore'

    asp.net - MVC 3 部署自动化

    nunit - 测试项目未在 TeamCity -> NUnit 阶段读取 app.config