The Microsoft Build Engine (MSBuild) is the build platform for .NET and Visual Studio.
Перейти к файлу
Daniel Plaisted 0d321fc9ea Update third party notice to include Samples for xUnit.net notice
This is for the Assembly Fixture support, which was originally copied from
https://github.com/xunit/samples.xunit/tree/master/AssemblyFixtureExample
2018-01-31 18:06:44 -08:00
.github Add an issue template (#2686) 2017-11-02 14:34:01 -07:00
branding Initial commit of branding (#941) 2016-08-24 08:51:47 -07:00
build Do not kill processes on CI 2018-01-29 17:36:07 -08:00
documentation Add Evaluation profiler under a flag (#2765) 2017-12-07 19:17:19 -08:00
setup Remove Cryptography.Algorithms from CoreXT pkg (#2901) 2018-01-23 22:13:13 -08:00
src Merge pull request #2919 from radical/fix-tests-mono 2018-01-31 09:59:29 -08:00
.editorconfig Added editorconfig properties from corefx 2015-03-20 13:09:51 +01:00
.gitattributes Merge remote-tracking branch 'Microsoft/master' into xplat 2016-05-17 11:35:51 -05:00
.gitignore Ignore temporary ProjectImports zip file (#2840) 2018-01-04 12:29:58 -06:00
CompatBaseline.txt Update CompatBaseline to reflect Update 1 changes 2015-10-26 10:45:37 -07:00
Directory.Build.props Fix Windows build 2018-01-30 15:51:20 -08:00
Directory.Build.rsp Add Directory.Build.rsp 2018-01-25 10:27:57 -08:00
Directory.Build.targets Embed interop types for VS APIs 2018-01-30 15:51:20 -08:00
LICENSE Update License to reflect .Net Foundation (#2303) 2017-07-14 15:19:35 -07:00
MSBuild.Dev.sln Convert Nuget.MSBuildSdkResolver.UnitTests to new build logic 2018-01-30 16:26:09 -08:00
MSBuild.sln Convert Nuget.MSBuildSdkResolver.UnitTests to new build logic 2018-01-30 16:26:09 -08:00
NuGet.Config Cleanup bootstrap build (#2594) 2017-10-06 13:24:01 -07:00
PublishToBlob.proj Enable manifest generation for msbuild (#2896) 2018-01-23 15:56:59 -08:00
README.md Remove Gitter link 2018-01-25 08:36:44 -06:00
RunApiPort.bat Add the rest of the product assemblies to RunApiPort, fix them so they compile in Port-Progress configuration 2015-08-14 08:23:18 -07:00
THIRDPARTYNOTICES.txt Update third party notice to include Samples for xUnit.net notice 2018-01-31 18:06:44 -08:00
build.cmd Quote paths to build script 2018-01-22 18:13:52 -08:00
cibuild.sh Update Roslyn and GenApi packages. 2017-08-04 09:59:51 -07:00
netci.groovy Protect against VsDevCmd changing the current directory (#2938) 2018-01-31 15:58:38 -08:00
runApiCompat.bat Add Microsoft.Build.Tasks.Core to ApiCompat 2015-09-11 14:13:03 -07:00
version.json Bump version to 15.7 (#2894) 2018-01-23 10:53:41 -08:00

README.md

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 MSBuild documentation on docs.microsoft.com.

Build Status

The current development branch is master. It builds for .NET Core and the full desktop .NET framework. Changes in master will go into the next "major" update of MSBuild.

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

We have entered stabilization for the 15.6 release (corresponding to Visual Studio 15.6) in the vs15.6 branch.

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

Source code

  • Clone the sources: git clone https://github.com/Microsoft/msbuild.git

Building

Building MSBuild with Visual Studio 2017

For the full supported experience, you will need to have Visual Studio 2017.

To get started on Visual Studio 2017:

  1. Install Visual Studio 2017. Select the following Workloads:
  • .NET desktop development
  • Desktop development with C++
    • Optional, build warnings may occur without it.
  • .NET Core cross-platform development
    • Optional, not strictly required (yet) but used to develop .NET Core applications.
  1. Clone the source code (see above).
  2. Open a Developer Command Prompt for VS 2017 prompt.
  3. Build the code using the cibuild.cmd script. This also restores packages needed to open the projects in Visual Studio.
  4. Open src/MSBuild.sln in Visual Studio 2017.

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 wiki

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 will or won't 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.