Coder Social home page Coder Social logo

jlaanstra / msbuild Goto Github PK

View Code? Open in Web Editor NEW

This project forked from dotnet/msbuild

0.0 1.0 0.0 70.35 MB

The Microsoft Build Engine (MSBuild) is the build platform for .NET and Visual Studio.

Home Page: https://docs.microsoft.com/visualstudio/msbuild/msbuild

License: MIT License

C# 97.94% C++ 0.01% C 0.01% Scilab 0.01% XSLT 0.23% Batchfile 0.01% Shell 0.01% PowerShell 0.11% XML 1.70%

msbuild's Introduction

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.

The changelog has detailed information about changes made in different releases.

Build Status

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

Build Status

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

Build Status

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

Build Status

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

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 15.9 builds from the branch vs15.9. Only very-high-priority bugfixes will be considered for servicing 15.9.

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/dotnet/msbuild
  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.slnf in Visual Studio 2019.

Note: To create a usable MSBuild with your changes, run .\build.cmd /p:CreateBootstrap=true. To build release, add -c Release: .\build.cmd -c Release /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

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.

msbuild's People

Contributors

andygerlicher avatar benvillalobos avatar ccastanedaucf avatar cdmihai avatar davkean avatar dfederm avatar dotnet-bot avatar dotnet-maestro[bot] avatar dsplaisted avatar elachlan avatar erikmav avatar forgind avatar jeffkl avatar kirillosenkov avatar ladipro avatar livarcocc avatar mfilippov avatar mfkl avatar mmitche avatar nguerrera avatar nikolamilosavljevic avatar nirmal4g avatar radical avatar rainersigwald avatar sarabeth-jaffe-microsoft avatar sfoslund avatar sujitnayak avatar tmeschter avatar v-zbsail avatar valmenn avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.