Skip to content
The Microsoft Build Engine (MSBuild) is the build platform for .NET and Visual Studio.
C# XML XSLT PowerShell Batchfile Shell
Branch: master
Clone or download

Latest commit

dsplaisted Merge pull request #5435 from dsplaisted/fix-resolver-api-break
Fix API breaking change from adding SdkResolver IndicateSuccess overload
Latest commit 6019483 Jun 17, 2020

Files

Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
.github Fixed typo in the issue template (#5088) Jan 28, 2020
branding Initial commit of branding (#941) Aug 24, 2016
documentation Update broken link to RAR target in Microsoft.Common.CurrentVersion.t… Jun 5, 2020
eng Adding target framework intrinsic functions (#5234) Jun 10, 2020
ref Fix API breaking change from adding SdkResolver IndicateSuccess overload Jun 16, 2020
scripts Copy satellites in deployment script (#5260) Apr 21, 2020
src Fix API breaking change from adding SdkResolver IndicateSuccess overload Jun 16, 2020
.editorconfig Added editorconfig properties from corefx Mar 20, 2015
.gitattributes Linguist tweaks Aug 9, 2019
.gitignore Use Arcade VS IBC Training Feb 5, 2019
.vsconfig Removed unnecessary files from config file Sep 5, 2019
.vsts-dotnet-ci.yml Revert "Switch to Pipeline Artifacts (#5062)" (#5427) Jun 15, 2020
.vsts-dotnet.yml Revert "Switch to Pipeline Artifacts (#5062)" (#5427) Jun 15, 2020
CompatBaseline.txt Update CompatBaseline to reflect Update 1 changes Oct 26, 2015
Directory.Build.props [master] Update dependencies from dotnet/arcade (#4783) Oct 9, 2019
Directory.Build.rsp Add Directory.Build.rsp Jan 25, 2018
Directory.Build.targets Delete produced packages from NuGet cache Apr 23, 2020
LICENSE [master] Update dependencies from dotnet/arcade (#4251) Mar 20, 2019
MSBuild.Dev.sln Override default Arcade Xunit configuration (#5302) Apr 28, 2020
MSBuild.SourceBuild.sln Add Microsoft.Build.Localization to msbuild for source-build Sep 10, 2019
MSBuild.sln Fixing the MachineIndependent solution configuration to use the proje… Mar 5, 2019
NuGet.config [master] Update dependencies from dotnet/arcade (#4920) Nov 14, 2019
PublishToBlob.proj Enable manifest generation for msbuild (#2896) Jan 23, 2018
README.md Updated branding for 16.7 (#5265) Apr 13, 2020
RunApiPort.bat Add the rest of the product assemblies to RunApiPort, fix them so the… Aug 14, 2015
THIRDPARTYNOTICES.txt Update third party notice to include Samples for xUnit.net notice Feb 1, 2018
build.cmd Discourage building with MSBUILDDEBUGONSTART (#4952) Dec 10, 2019
build.sh Using ProjectToBuild in Build.props to select sln file to build inste… Dec 18, 2018
global.json [master] Update dependencies from dotnet/arcade (#5388) Jun 4, 2020
netci.groovy add flag to use stage 2 Aug 30, 2018
runApiCompat.bat Add Microsoft.Build.Tasks.Core to ApiCompat Sep 11, 2015

README.md

Microsoft.Build (MSBuild)

The Microsoft Build Engine is a platform for building applications. This engine, 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 can run without 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 MSBuild documentation on docs.microsoft.com.

Build Status

The current development branch is master. Changes in master will go into a future update of MSBuild, which will release with Visual Studio 16.7 and a corresponding version of the .NET Core SDK.

Build Status

We have forked for MSBuild 16.6 in the branch vs16.6. Changes to that branch need special approval.

Build Status

MSBuild 16.4 builds from the branch vs16.4. Only high-priority bugfixes will be considered for servicing 16.4.

Build Status

MSBuild 16.0 builds from the branch vs16.0. Only high-priority bugfixes will be considered for servicing 16.0.

Build Status

MSBuild 15.9 builds from the branch vs15.9. Only very-high-priority bugfixes will be considered for servicing 15.9.

Runtime\OS Windows Ubuntu 16.04 Mac OS X
Full Framework Build Status N/A N/A
.NET Core Build Status Build Status Build Status

Building

Building MSBuild with Visual Studio 2019 on Windows

For the full supported experience, you will need to have Visual Studio 2019 or higher.

To get started on Visual Studio 2019:

  1. Install Visual Studio 2019. Select the following Workloads:
  • .NET desktop development
  • .NET Core cross-platform development
  1. Open a Developer Command Prompt for VS 2019 prompt.
  2. Clone the source code: git clone https://github.com/Microsoft/msbuild.git
  1. Run .\build.cmd from the root of the repo to build the code. This also restores packages needed to open the projects in Visual Studio.
  2. Open MSBuild.sln or MSBuild.Dev.sln in Visual Studio 2019.

Note: To create a usable MSBuild with your changes, run .\build.cmd /p:CreateBootstrap=true.

This newly-built MSBuild will be located at artifacts\bin\bootstrap\net472\MSBuild\Current\Bin\MSBuild.exe. It may not work for all scenarios, including C++ builds.

Building MSBuild in Unix (Mac & Linux)

MSBuild can be run on Unix systems that support .NET Core. Set-up instructions can be viewed on the wiki: Building Testing and Debugging on .Net Core MSBuild

Localization

You can turn on localized builds via the /p:LocalizedBuild=true command line argument. For more information on localized builds and how to make contributions to MSBuild's translations, see our localization documentation

How to Engage, Contribute and Provide Feedback

This project has adopted the Microsoft Open Source Code of Conduct. For more information see the Code of Conduct FAQ or contact opencode@microsoft.com with any additional questions or comments.

Getting Started

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

Looking for something to work on? This list of up for grabs issues is a great place to start.

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.

License

MSBuild is licensed under the MIT license.

You can’t perform that action at this time.