Differences between xbuild and MSBuild preview

PDF for offline use:

Let us know how you feel about this.

Thanks for the feedback!

last updated: 2016-05

  • Change in MSBuildExtensionsPath search paths:

    Note: This is only relevant if you have custom extensions path, which is not the case for most users.

    xbuild uses the environment variable MSBuildExtensionsPath to specify alternate locations as search paths for the MSbuild property $(MSBuildExtensionsPath). This is useful when importing projects, like <Import Project="$(MSBuildExtensionsPath)\Xamarin\Mac\Xamarin.Mac.CSharp.targets" /> See xbuild man page for more details.

    The paths specified via the environment variable override the default path for MSBuildExtensionsPath. So, effectively the search order is :

    1. Paths specified in the environment variable $MSBuildExtensionsPath
    2. /Library/Frameworks/Mono.framework/External/xbuild on Mac OSX.
    3. $prefix/lib/mono/xbuild or the value of $(MSBuildExtensionsPath) property (default location)


    With MSBuild the search paths are specified via the MSBuild.exe.config[1] instead of the environment variable. Also, the paths specified here are used as fallback search paths, so the search order becomes:

    1. $prefix/lib/mono/xbuild or the value of $(MSBuildExtensionsPath) property (default location)
    2. Paths specified in MSBuild.exe.config (which is /Library/Frameworks/Mono.framework/External/xbuild by default, on OSX)

    The following are the default fallback search paths being set in MSBuild.exe.config:

        <searchPaths os="osx">
            <property name="MSBuildExtensionsPath" value="/Library/Frameworks/Mono.framework/External/xbuild/"/>
            <property name="MSBuildExtensionsPath32" value="/Library/Frameworks/Mono.framework/External/xbuild/"/>
            <property name="MSBuildExtensionsPath64" value="/Library/Frameworks/Mono.framework/External/xbuild/"/>

It can be found at /Library/Frameworks/Mono.framework/Versions/Current/lib/mono/msbuild/14.1/bin/MSBuild.exe.config on OS X

Xamarin Workbook

If it's not already installed, install the Xamarin Workbooks app first. The workbook file should download automatically, but if it doesn't, just click to start the workbook download manually.