The Microsoft Build Engine (MSBuild) is the build platform for .NET and Visual Studio.
Перейти к файлу
dotnet-maestro[bot] 3a2f9ba61c
Update dependencies from dotnet/arcade (#9315)
* Update dependencies from https://github.com/dotnet/arcade build 20231016.4

Microsoft.DotNet.Arcade.Sdk , Microsoft.DotNet.XUnitExtensions
 From Version 8.0.0-beta.23463.1 -> To Version 8.0.0-beta.23516.4

Dependency coherency updates

Microsoft.DotNet.XliffTasks
 From Version 1.0.0-beta.23426.1 -> To Version 1.0.0-beta.23475.1 (parent: Microsoft.DotNet.Arcade.Sdk

* Revert the dotnet version

---------

Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>
Co-authored-by: Jenny Bai <v-jennybai@microsoft.com>
2023-10-25 05:08:04 -05:00
.github Add needs-triage to feature requests (#8624) 2023-04-04 10:00:18 +08:00
.vscode Add VS Code tasks.json (#7036) 2021-11-15 14:07:24 -08:00
branding Initial commit of branding (#941) 2016-08-24 08:51:47 -07:00
documentation AppDomain configuration is serialized without using BinFmt (#9320) 2023-10-18 15:49:17 +02:00
eng Update dependencies from dotnet/arcade (#9315) 2023-10-25 05:08:04 -05:00
scripts Add a job for experimental Framework MSBuild insertion to a pipeline (#9309) 2023-10-12 10:03:38 +02:00
src Revert "Populate unproxied targets to avoid dropping requested targets (#9130)" (#9358) 2023-10-24 14:40:47 +00:00
.editorconfig Make repo buildable with VS 17.8.0 Preview 3.0 (#9319) 2023-10-12 09:16:00 +02:00
.exp-insertions.yml Get Retail MSBuild Drop Path with Restful API (#9332) 2023-10-18 10:22:05 +08:00
.gitattributes Switch eng/common to linguist-vendored (#6022) 2021-01-12 16:35:11 -06:00
.gitignore Convert LiveLogger tests to use Verify 2023-05-15 15:24:01 -05:00
.opt-prof.yml Update .opt-prof.yml for Azure Pipelines (#8426) 2023-02-09 07:47:28 -08:00
.vsconfig Remove stale .vsconfig components (#8862) 2023-10-10 16:17:35 +02:00
.vsts-dotnet-ci.yml Update dependencies from dotnet/arcade dotnet/roslyn nuget/nuget.client (#9041) 2023-07-24 17:16:30 +02:00
.vsts-dotnet.yml Reduce VS drop retention time for builds (#9305) 2023-10-05 16:58:44 +02:00
Directory.Build.props Removing dead code unit tests and BinFmt enablement 2023-08-14 15:46:28 +02:00
Directory.Build.rsp Add Directory.Build.rsp 2018-01-25 10:27:57 -08:00
Directory.Build.targets Central Package Management (#8317) 2023-01-30 15:14:19 +01:00
LICENSE [master] Update dependencies from dotnet/arcade (#4251) 2019-03-20 21:45:47 +00:00
MSBuild.Dev.slnf Refactor build transfering to accomodate nuget.exe type loading limitations 2023-05-24 21:57:59 +02:00
MSBuild.SourceBuild.slnf Add StringTools* projects to solution files 2021-01-20 22:34:05 +01:00
MSBuild.lutconfig Enable Live Unit Testing (#7577) 2022-04-27 11:40:54 -07:00
MSBuild.sln Add testenvironments.json to solution items 2023-01-04 12:08:40 +01:00
NuGet.config Add "cache add" functionality to project caching - Attempt 2 (#9214) 2023-09-19 14:23:13 -05:00
README.md Remove the obsolete build status info 2023-01-04 17:03:58 +01:00
THIRDPARTYNOTICES.txt Update third party notice to include Samples for xUnit.net notice 2018-01-31 18:06:44 -08:00
build.cmd Discourage building with MSBUILDDEBUGONSTART (#4952) 2019-12-10 14:46:41 -08:00
build.sh Use env for bash path (#8716) 2023-05-01 13:31:08 -07:00
global.json Update dependencies from dotnet/arcade (#9315) 2023-10-25 05:08:04 -05:00
testenvironments.json Add testenvironments.json to solution items 2023-01-04 12:08:40 +01:00

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.

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
  1. Ensure long path support is enabled at the Windows level.
  2. Open a Developer Command Prompt for VS 2022 prompt.
  3. 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 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.