Skip to content
The Microsoft Build Engine (MSBuild) is the build platform for .NET and Visual Studio.
Branch: master
Clone or download
Pull request Compare This branch is 4680 commits behind microsoft:master.
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.

Microsoft.Build (MSBuild)

The Microsoft Build Engine is a platform for building applications. This engine, which is also known as MSBuild, provides an XML schema for a project file that controls how the build platform processes and builds software. Visual Studio uses MSBuild, but MSBuild does not depend on Visual Studio. By invoking msbuild.exe on your project or solution file, you can orchestrate and build products in environments where Visual Studio isn't installed.

For more information on MSBuild, see the MSDN documentation.

Build Status

Source code

  • Clone the sources: git clone


For the full supported experience, you will need to have Visual Studio 2015. You can open the solution in Visual Studio 2013, but you will encounter issues building with the provided scripts.

To get started on Visual Studio 2015:

  1. Set up a box with Visual Studio 2015. Either install Visual Studio 2015, or grab a prebuilt Azure VM image.
  2. Clone the source code (see above).
  3. Open src/MSBuild.sln solution in Visual Studio 2015.

How to Engage, Contribute and Provide Feedback

Before you contribute, please read through the contributing and developer guides to get an idea of what kinds of pull requests we will or won't accept.

Want to get more familiar with what's going on in the code?

You are also encouraged to start a discussion by filing an issue or creating a gist.

MSBuild Components

  • MSBuild. Microsoft.Build.CommandLine is the entrypoint for the Microsoft Build Engine (MSBuild.exe).

  • Microsoft.Build. The Microsoft.Build namespaces contain types that provide programmatic access to, and control of, the MSBuild engine.

  • Microsoft.Build.Framework. The Microsoft.Build.Framework namespace contains the types that define how tasks and loggers interact with the MSBuild engine. For additional information on this component, see our Microsoft.Build.Framework wiki page.

  • Microsoft.Build.Tasks. The Microsoft.Build.Tasks namespace contains the implementation of all tasks shipping with MSBuild.

  • Microsoft.Build.Utilities. The Microsoft.Build.Utilities namespace provides helper classes that you can use to create your own MSBuild loggers and tasks.


MSBuild is licensed under the MIT license.

You can’t perform that action at this time.