如何使用Rake运行程序让TeamCity识别msbuild编译错误

Set*_*son 12 msbuild teamcity rake

我有一个带有Rake构建脚本的.NET项目.Rake调用msbuild.exe来进行实际编译.当我使用Rake运行程序配置TeamCity 5.0构建时,TC不会识别编译错误.发生编译错误时:

  1. 构建确实中止并被标记为失败;
  2. 日志概述包含编译错误消息.我必须去构建日志 - >所有消息以查看失败;
  3. 未通过电子邮件报告编译失败.我的电子邮件通知模板中的{COMPILATION_ERRORS}占位符将替换为空白字符串.

要使TC识别编译错误,我该怎么做?

Set*_*son 16

TeamCity支持论坛上的这个主题所示,答案是告诉MSBuild使用"/ l"开关使用特殊的TeamCity日志监听器:

msbuild /l:JetBrains.BuildServer.MSBuildLoggers.MSBuildLogger,<path to dll>
Run Code Online (Sandbox Code Playgroud)

该DLL在TeamCity代理目录中提供:{agent} /plugins/dotnetplugin/bin/JetBrains.BuildServer.MSBuildLoggers.dll

  • 可以通过解析`teamcity.dotnet.nunitlauncher.msbuild.task`系统属性找到DLL (3认同)