dwww Home | Manual pages | Find package

xbuild(1)                   General Commands Manual                  xbuild(1)

NAME
       xbuild - Mono's tool to build MSBuild project files

SYNOPSIS
       xbuild [option] [project-file]

DESCRIPTION
       xbuild  can be used to build MSBuild project files. Integrated Develop-
       ment Environments like MonoDevelop and "Microsoft Visual  Studio  .NET"
       use msbuild project file format.

       xbuild  takes the path of the project or solution file to build, as the
       main argument.  If no file is specified then it tries to build any  so-
       lution  file or project file in the current directory, that has a *proj
       extension.

OPTIONS
       /target:T1[,TN]
              List of targets to build

       /property:Name=Value
              Set or override project properties

       /logger:<logger>
              Custom logger to log build events

       /toolsversion:version , /tv:version
              Specify the toolset version to use.

              Eg. /tv:4.0
                  This would cause 4.0 version of the Microsoft.Common.targets
              (among others) to be used. This overrides
                  the value specified in a project file.

              Valid values: 2.0, 3.0, 3.5 and 4.0

       /verbosity:<level>
              Logger verbosity level : quiet, minimal, normal, detailed, diag-
              nostic

       /validate
              Validate the project file against the schema

       /validate:<schema>
              Validate the project file against the specified schema

       /consoleloggerparameters:<params> , /clp:<params>
              Parameters for the console logger : PerfomanceSummary,  Summary,
              NoSummary, NoItemAndPropertyList, Verbosity

       /filelogger[n] , /fl[n]
              Logs  the  output  to a file, named 'msbuild.log' by default. If
              the optional number 'n' is  specified,  then  it  logs  to  'ms-
              build[n].log'  .  Parameters  for this logger, including the log
              file name can be specified via a corresponding  /flp[n]  option.
              Default  verbosity for file loggers is 'detailed. 'n' can be be-
              tween 1-9.

       /fileloggerparameters[n]:<params> , /flp[n]:<params>
              Parameters for a  file  logger.  This  implies  a  corresponding
              /fl[n].  'n' can be between 1-9, and is used to add upto 10 file
              loggers. Parameters can be, besides the ones available for  con-
              sole logger:

              LogFile=<file>
                     File to which the build log will be written.

              Append If this is used, then the log file is appended to, else a
                     new one will be created.

              Encoding=<encoding>
                     Encoding to use for the log file, eg. UTF-8, ASCII.

              Eg:   xbuild   foo.csproj   /flp:Verbosity=normal    "/flp1:Log-
              File=build.log;Append;Encoding=ASCII"

       /nologo
              Don't show the initial xbuild banner

       /help  Show xbuild usage

       /version
              Display xbuild version

ENVIRONMENT VARIABLES
       XBUILD_EMIT_SOLUTION
              If  this variable is set, then the project file generated from a
              solution file is emitted.

       XBUILD_LOG_REFERENCE_RESOLVER
              References are resolved by trying  a  list  of  assembly  search
              paths  ($(AssemblySearchPaths)).  If xbuild is unable to resolve
              a reference, then it logs details  of  why  the  various  search
              paths  failed.  If  this  variable is set, then it logs the same
              even for references that were resolved successfully. These  logs
              show up if the verbosity is set to detailed or higher.

       MSBuildExtensionsPath
              MSBuild  extensions are usually installed in $(MSBuildExtension-
              sPath), which xbuild resolves to $prefix/lib/mono/xbuild .  When
              used in Import, like:

                <Import     Project="$(MSBuildExtensionsPath)\TestTargets.tar-
              gets"/>

              xbuild tries various  values  for  the  msbuild  property  $(MS-
              BuildExtensionsPath), in order:

                1.  Paths specified in the environment variable $MSBuildExten-
              sionsPath.
                2. /Library/Frameworks/Mono.framework/External/xbuild  on  Mac
              OSX.
                3.   $XDG_CONFIG_HOME/xbuild/tasks   (or  Environment.Special-
              Folder.ApplicationData)
                4. $prefix/lib/mono/xbuild (default location)

              Anywhere else in  the  project  files,  $(MSBuildExtensionsPath)
              will  always  resolve to the default location. This is a xbuild-
              only feature.  This is also applicable for the properties  $(MS-
              BuildExtensionsPath32)  and  $(MSBuildExtensionsPath64), and the
              environment variables have the corresponding names -  MSBuildEx-
              tensionsPath32/64 .

       XBUILD_FRAMEWORK_FOLDERS_PATH
              With  ToolsVersion 4.0, projects can target arbitrary frameworks
              referenced by TargetFrameworkMoniker, which is of the format:

                Identifier,Version=<version>[,Profile=<profile>]

              Eg. ".NETFramework,Version=v4.0"

              The 3 parts of the moniker are given by the msbuild properties:

                $(TargetFrameworkIdentifier),  $(TargetFrameworkVersion)   and
              $(TargetFrameworkProfile)

              This moniker maps to a framework description file on disk:

                <framework_root>/Identifier/Version/[Profile]/Redis-
              tList/FrameworkList.xml

              This file is used to determine the path where to find the frame-
              work assemblies for this particular framework.

              Framework  root here is configurable and is resolved in the fol-
              lowing order:

                1. Paths specified in the environment variable $XBUILD_FRAMEWORK_FOLDERS_PATH
                2. /Library/Frameworks/Mono.framework/External/xbuild-frameworks on Mac OSX.
                3. MSBuild property $(TargetFrameworkRoot)
                4. $prefix/lib/mono/xbuild-frameworks (default location)

              XBuild tries the paths given above, in order, till  it  finds  a
              FrameworkList.xml  for the moniker.  Running with /v:detailed or
              higher verbosity will show the various paths that it tries.

              The FrameworkList.xml itself just has a root element like:

                <FileList   Name=".NET  Framework  3.5"  TargetFrameworkDirec-
              tory="..\..\..\..\3.5" IncludeFramework="v3.0">
                </FileList>

              Here the TargetFrameworkDirectory attribute specifies the direc-
              tory where the assemblies for this particular framework  can  be
              found.  If  this  is not set, then the parent of the folder con-
              taining the xml file is taken as the framework directory.

              IncludeFramework attribute specifies the version of a  framework
              (under  the *same* $(TargetFrameworkIdentifier)) which should be
              included in the final list of Target framework directories.

       XBUILD_COLORS
              If this variable is set,  it  contains  a  string  of  the  form
              "type=foreground,type=.."  that  specifies which color to use to
              display errors/warnings etc on some terminals. Type here can be:

                   errors, warnings, messages or events

                   events: These are project/target/task start and end event
                           messages.

              The possible colors for foreground are: black,  red,  brightred,
              green,  brightgreen, yellow, brightyellow, blue, brightblue, ma-
              genta,  brightmagenta,  cyan,  brightcyan,   grey,   white   and
              brightwhite.

              For example, you could set this variable from your shell:
                   export XBUILD_COLORS
                   XBUILD_COLORS=errors=brightred,warnings=blue

              You  can disable the built-in color scheme by setting this vari-
              able to "disable".

NOTES
       On Mac OSX, for locating pkg-config (.pc)  files,  xbuild  additionally
       looks in "/Library/Frameworks/Mono.framework/External/pkgconfig" .

SEE ALSO
       mono(1),mcs(1)

COPYRIGHT
       Copyright (C) 2011 Novell, Inc (http://www.novell.com)

MAILING LISTS
       Visit  http://lists.ximian.com/mailman/listinfo/mono-devel-list for de-
       tails.

WEB SITE
       Visit: http://www.mono-project.com for details

                                                                     xbuild(1)

Generated by dwww version 1.15 on Wed Jun 26 17:52:51 CEST 2024.