Provided by: mono-xbuild_5.18.0.240+dfsg-2ubuntu2_all bug


       xbuild - Mono's tool to build MSBuild project files


       xbuild [option] [project-file]


       xbuild  can  be  used  to build MSBuild project files. Integrated Development 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 solution file or project file in the
       current directory, that has a *proj extension.


              List of targets to build

              Set or override project properties

              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

              Logger verbosity level : quiet, minimal, normal, detailed, diagnostic

              Validate the project file against the 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 'msbuild[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 between 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 console logger:

                     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

                     Encoding to use for the log file, eg. UTF-8, ASCII.

              Eg:              xbuild              foo.csproj               /flp:Verbosity=normal

              Don't show the initial xbuild banner

       /help  Show xbuild usage

              Display xbuild version


              If  this  variable  is set, then the project file generated from a solution file is

              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.

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

                <Import Project="$(MSBuildExtensionsPath)\TestTargets.targets"/>

              xbuild  tries  various values for the msbuild property $(MSBuildExtensionsPath), in

                1. Paths specified in the environment variable $MSBuildExtensionsPath.
                2. /Library/Frameworks/Mono.framework/External/xbuild on Mac OSX.
                3. $XDG_CONFIG_HOME/xbuild/tasks (or Environment.SpecialFolder.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 $(MSBuildExtensionsPath32) and $(MSBuildExtensionsPath64),  and  the
              environment variables have the corresponding names - MSBuildExtensionsPath32/64 .

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


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

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

                $(TargetFrameworkIdentifier),            $(TargetFrameworkVersion)            and

              This moniker maps to a framework description file on disk:


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

              Framework root here is configurable and is resolved in the following 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"  TargetFrameworkDirectory="..\..\..\..\3.5"

              Here  the  TargetFrameworkDirectory  attribute  specifies  the  directory where the
              assemblies for this particular framework can be found. If this is not set, then the
              parent of the folder containing 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.

              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

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

              For example, you could set this variable from your shell:
                   export XBUILD_COLORS

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


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




       Copyright (C) 2011 Novell, Inc (


       Visit for details.


       Visit: for details