Mono Support

Skip to end of metadata
Go to start of metadata
You are viewing documentation of TeamCity 6.5.x, which is not the most recent released version of TeamCity. Please refer to the listing to choose another version.
Search

Searching TeamCity 6.5.x Documentation

Table of Contents

Mono framework is an alternative framework for running .NET applications on both Windows and Unix-based platforms.
For more information please refer to the Mono official site.

TeamCity supports running .NET builds using MSBuild and NAnt build runners under Mono framework as well as under .NET Frameworks.

Tests reporting tasks are also supported under Mono.

Mono Platform Detection

When a build agent starts it detects Mono installation automatically.

On each platform Mono detection is compatible with NAnt one. See NAnt.exe.config for frameworks detection on NAnt.

Agent Properties

When Mono is detected automatically on agent-side, the following properties are set:

  • Mono — path to mono executable (Mono JIT)
  • MonoVersion — Mono version
  • MonoX.Z — set to MONO_ROOT/lib/mono/X.Z if exists
  • MonoX.Z_x64 — set to MONO_ROOT/lib/mono/X.Z if exists and Mono architecture is x64
  • MonoX.Z_x86 — set to MONO_ROOT/lib/mono/X.Z if exists and Mono architecture is x86

If the Mono installation cannot be detected automatically (for example, you have installed Mono framework into custom directory), you can make these properties available for build runners by setting them manually in the agent configuration file.

Windows Specifics

Automatic detection of Mono framework under Windows has the following specifics:

  1. Mono version is read from HKLM\SOFTWARE\Novell\Mono\DefaultCLR
  2. Frameworks paths are extracted from HKLM\SOFTWARE\Novell\Mono\ %MonoVersion%
  3. Platform architecture is detected by analyzing mono.exe

Mac OS X Specifics

  1. Framework is detected automatically from /Library/Frameworks/Mono.framework/Versions
  2. The highest version is selected
  3. Frameworks path are extracted from /Library/Frameworks/Mono.framework/Versions/%MonoVersion%/lib/mono
  4. Platform architecture is fixed to x86 as Mono official builds support only X86

Custom Linux/Unix Specifics

Automatic detection of Mono framework under Unix has the following specifics:

  1. Mono version is read from "pkg-config --modversion mono"
  2. Frameworks paths are extracted from "pkg-config --variable=prefix mono" and "pkg-config --variable=libdir mono"
  3. Platform arch is detected by analyzing PREFIX/bin/mono executable.

You can force Mono to be detected from custom location by adding PREFIX/bin directory to the beginning of the PATH and updating PKG_CONFIG_PATH (described in pkg-config(1)) with PREFIX/lib/pkgconfig

Supported Build Runners

Both NAnt and MSBuild runners support using Mono framework to run a build (MSBuild as xbuild in mono).



See also:

Administrator's Guide: NAnt | MSBuild

Labels:

mono mono Delete
net net Delete
Enter labels to add to this page:
Wait Image 
Looking for a label? Just start typing.