Retour au classement

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

buildmsbuildvisual-studiomicrosofthacktoberfesthelp-wanted
Croissance des étoiles
Étoiles
5.5k
Forks
1.4k
Croissance hebdomadaire
Issues
1.5k
2k3k4k5k
mars 2015déc. 2018oct. 2022juil. 2026
README

Microsoft.Build (MSBuild)

Build Status Build Status

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 learn.microsoft.com.

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

Building

Building MSBuild with Visual Studio 2022 on Windows

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

To get started on Visual Studio 2022:

  1. Install Visual Studio 2022. Select the following Workloads:
    • .NET desktop development
    • .NET Core cross-platform development
  2. Ensure long path support is enabled at the Windows level.
  3. Open a Developer Command Prompt for VS 2022 prompt.
  4. Clone the source code: git clone https://github.com/dotnet/msbuild
  5. 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.
  6. Open MSBuild.slnx or MSBuild.Dev.slnf in Visual Studio 2022.

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

Interested in contributing?

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

Other ways to contribute

We encourage any contributions you decide to make to the repo!

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.

Dépôts similaires
nrwl/nx

The Monorepo Platform that amplifies both developers and AI agents. Nx optimizes your builds, scales your CI, and fixes failed PRs automatically. Ship in half the time.

TypeScriptnpmMIT Licensenxangular
nx.dev
29.1k2.8k
bazelbuild/bazel

a fast, scalable, multi-language and extensible build system

JavaMavenApache License 2.0bazelbuild
bazel.build
25.6k4.5k
xmake-io/xmake

🔥 A cross-platform build utility based on Lua

LuaApache License 2.0luabuild-tool
xmake.io
12.1k947
earthly/earthly

Super simple build framework with fast, repeatable builds and an instantly familiar syntax – like Dockerfile and Makefile had a baby.

GoGo ModulesMozilla Public License 2.0build-automationbuild
earthly.dev
12k456
Sjj1024/PakePlus-Android

Turn any webpage/HTML/Vue/React and so on into desktop and mobile app under 5M with easy in few minutes. 轻松将任意网站/HTML/Vue/React等项目构建为轻量级(小于5M)多端桌面应用和手机应用仅需几分钟. https://ppofficial.netlify.app

LuaMIT Licensepakepakeplus
pakeplus.com
9.1k5.6k
Sjj1024/PakePlus-iOS

Turn any webpage/HTML/Vue/React and so on into desktop and mobile app under 5M with easy in few minutes. 轻松将任意网站/HTML/Vue/React等项目构建为轻量级(小于5M)多端桌面应用和手机应用仅需几分钟. https://ppofficial.netlify.app

SwiftMIT Licenseipapake
pakeplus.com
8.4k5.6k
developit/microbundle

📦 Zero-configuration bundler for tiny modules.

JavaScriptnpmMIT Licensebundlemodule-bundler
npm.im/microbundle
8.1k359
pypa/hatch

Modern, extensible Python project management

PythonPyPIMIT Licensepythoncli
hatch.pypa.io/latest/
7.2k434
electron/forge

:electron: A complete tool for building and publishing Electron applications

TypeScriptnpmMIT Licenseelectronjavascript
electronforge.io
7.1k627
microsoft/rushstack

Monorepo for tools developed by the Rush Stack community

TypeScriptnpmOthermonoreporush
rushstack.io
6.5k699
burrowers/garble

Obfuscate Go builds

GoGo ModulesBSD 3-Clause "New" or "Revised" Licensegolangobfuscation
5.6k362
gaia-pipeline/gaia

Build powerful pipelines in any programming language.

GoGo ModulesApache License 2.0gopipeline
5.2k240