12

I have a .NET project with a Rake build script. Rake calls msbuild.exe to do the actual compilation. When I configure a TeamCity 5.0 build using the Rake runner, compilation errors are not recognized as such by TC. When a compilation error occurs:

  1. The build does abort and is flagged as a failure;
  2. The log overview does not contain the compilation error message. I have to go to Build Log -> All Messages to see the failure;
  3. The compilation failure is not reported via email. The {COMPILATION_ERRORS} placeholder in my email notification template is replaced with a blank string.

What do I have to do to get TC to recognize the compilation errors?

Seth Petry-Johnson
  • 11,845
  • 7
  • 49
  • 69

1 Answers1

16

The answer, as shown in this thread on the TeamCity support forum, is to tell MSBuild to use a special TeamCity log listener using the "/l" switch:

msbuild /l:JetBrains.BuildServer.MSBuildLoggers.MSBuildLogger,<path to dll>

The dll ships in the TeamCity agent directory: {agent}/plugins/dotnetplugin/bin/JetBrains.BuildServer.MSBuildLoggers.dll

Seth Petry-Johnson
  • 11,845
  • 7
  • 49
  • 69
  • 3
    The DLL can be found by resolving the `teamcity.dotnet.nunitlauncher.msbuild.task` system property – Krumelur Oct 07 '15 at 13:34