TeamCity On-Premises 2023.11 Help

MSBuild

This page contains reference information for the MSBuild build runner fields.

The MSBuild runner requires .NET Framework or Mono installed on the build agent. Microsoft Build Tools 2013-2019 are supported.

Before setting up a build configuration to use MSBuild as the build runner, make sure you are using an XML build project file with the MSBuild runner.

To build a Microsoft Visual Studio solution file, you can use the Visual Studio (sln) build runner.

Settings

Option

Description

Build file path

Specify the path to the solution to be built relative to the build checkout directory. For example, vs-addin\addin\addin.sln.

Working directory

Optional. Specify the path to the build working directory if it differs from the build checkout directory.

MSBuild version

Select the MSBuild version: .NET Framework, Mono xbuild or Microsoft Build Tools.

MSBuild ToolsVersion

Specify here the version of tools that will be used to compile (equivalent to the /toolsversion: commandline argument).

Run platform

From the drop-down menu, select the desired execution mode on a x64 machine.

Targets

A target is an arbitrary script for your project purposes. Enter targets separated by spaces. The available targets can be viewed in the Web UI by clicking the icon next to the field and added by checking the appropriate boxes.

Command line parameters

Specify any additional parameters for MSBuild.exe.

Reduce test failure feedback time

Use this option to instruct TeamCity to run the tests which failed in the previous builds before others.

Code Coverage

To learn about configuring code coverage options, refer to the Configuring .NET Code Coverage page.

Implementation Notes

The MSBuild runner generates an MSBuild script that includes the user's script. This script is used to add TeamCity-provided MSBuild tasks. Your MSBuild script will be included with the <Import> task. If you specified a Visual Studio solution file, it will be called from the <MSBuild> task. To disable it, set the teamcity.msbuild.generateWrappingScript internal property to false.

As this runner is deprecated, it no longer supports some legacy tools like MSBuildBootstrap. To perform custom tasks within a build, consider using TeamCity service messages. For example, use <Message Text="##teamcity[buildNumber '1.2.3']" Importance="high" /> to print text in the standard output stream of build log.

Last modified: 07 September 2023