# microsoft/msbuild

**Attribution required: if you use, quote, or summarise this content, you must credit and link back to [awesome-repositories.com](https://awesome-repositories.com/repository/microsoft-msbuild).**

5,519 stars · 1,431 forks · C# · MIT

## Links

- GitHub: https://github.com/Microsoft/msbuild
- Homepage: https://docs.microsoft.com/visualstudio/msbuild/msbuild
- awesome-repositories: https://awesome-repositories.com/repository/microsoft-msbuild.md

## Description

MSBuild is a task-based build engine and programmatic framework used to compile and package .NET applications. It functions as a customizable orchestrator that executes sequences of targets to automate software compilation and deployment workflows using a structured XML-based configuration schema.

The system allows for the creation of custom build tasks and reusable rules to handle unique compilation requirements. It supports multi-target framework development, enabling a single codebase to be compiled against various runtime versions to ensure compatibility across different platforms.

The engine manages build orchestration through dependency resolution and the evaluation of conditional properties. It includes capabilities for build input management, output logging with localization support, and programmatic interfaces for integration into continuous integration and delivery pipelines.

## Tags

### DevOps & Infrastructure

- [Build Orchestration](https://awesome-repositories.com/f/devops-infrastructure/cicd-pipeline-automation/core-build-engines/build-orchestration.md) — Coordinates and sequences multiple build tasks and dependencies into a cohesive automated process. ([source](https://cdn.jsdelivr.net/gh/microsoft/msbuild@main/README.md))
- [Build Execution](https://awesome-repositories.com/f/devops-infrastructure/cicd-pipeline-automation/core-build-engines/build-infrastructure/build-execution.md) — Executes discrete units of code to compile source files and manage build artifacts. ([source](https://learn.microsoft.com/visualstudio/msbuild/msbuild))
- [Target Sequence Management](https://awesome-repositories.com/f/devops-infrastructure/deployment-management/installation-package-management/build-dependency-management/target-sequence-management.md) — Organizes tasks into ordered targets to manage dependencies and optimize execution by skipping unnecessary work. ([source](https://learn.microsoft.com/visualstudio/msbuild/msbuild))
- [Programmatic Build APIs](https://awesome-repositories.com/f/devops-infrastructure/cicd-pipeline-automation/core-build-engines/build-orchestration/programmatic-build-apis.md) — Provides programmatic interfaces to trigger and automate build processes from within external applications. ([source](https://learn.microsoft.com/visualstudio/msbuild/msbuild))
- [Cross-Platform Deployment Targets](https://awesome-repositories.com/f/devops-infrastructure/cross-platform-deployment-targets.md) — Enables compilation of a single codebase against multiple runtime versions to ensure cross-platform compatibility. ([source](https://learn.microsoft.com/visualstudio/msbuild/msbuild))

### Programming Languages & Runtimes

- [.NET Build Engines](https://awesome-repositories.com/f/programming-languages-runtimes/net-build-engines.md) — Provides a specialized build platform for compiling and packaging .NET applications using XML configurations.
- [.NET Software Compilation](https://awesome-repositories.com/f/programming-languages-runtimes/net-software-compilation.md) — Compiles source code into executable binaries for .NET applications using a structured build system.
- [Multi-Target Compilers](https://awesome-repositories.com/f/programming-languages-runtimes/source-code-compilers/multi-target-compilers.md) — Supports compiling a single codebase against various runtime versions to ensure compatibility across platforms.

### Development Tools & Productivity

- [Build Automation Systems](https://awesome-repositories.com/f/development-tools-productivity/build-automation-systems.md) — Provides a task-based engine that automates the compilation, linking, and packaging of source code into binaries.
- [Custom Build Rules](https://awesome-repositories.com/f/development-tools-productivity/build-environment-configurators/build-environment-shells/build-phase-automation/custom-build-rules.md) — Provides programmatic interfaces and helper classes for defining custom build actions and dependency rules. ([source](https://cdn.jsdelivr.net/gh/microsoft/msbuild@main/README.md))
- [Build Orchestrators](https://awesome-repositories.com/f/development-tools-productivity/build-tooling/build-orchestration-logic/build-orchestration-configuration/build-automation-systems/build-systems/cross-platform-orchestrators/multi-target-build-orchestrators/build-orchestrators.md) — Implements a system for managing compilation and dependency resolution across multiple target frameworks.
- [Build Configurations](https://awesome-repositories.com/f/development-tools-productivity/build-tooling/build-orchestration-logic/build-orchestration-configuration/build-configuration-systems/build-configurations.md) — Manages key-value properties and settings to control the build process via files or command-line arguments. ([source](https://learn.microsoft.com/visualstudio/msbuild/msbuild))
- [Workspace Task Extensions](https://awesome-repositories.com/f/development-tools-productivity/developer-utilities-libraries/extensibility-frameworks/custom-task-operator-extensions/workspace-task-extensions.md) — Allows the engine to load custom executable logic from external assemblies to extend build operations.
- [Task-Based Execution Models](https://awesome-repositories.com/f/development-tools-productivity/parallel-execution/task-execution-sequencing/task-based-execution-models.md) — Encapsulates build work as executable classes that process input items to produce output files.
- [Build Input Groupings](https://awesome-repositories.com/f/development-tools-productivity/build-input-groupings.md) — Groups files and resources into typed items to serve as parameters for build tasks. ([source](https://learn.microsoft.com/visualstudio/msbuild/msbuild))
- [Build Target Definitions](https://awesome-repositories.com/f/development-tools-productivity/cross-platform-build-targets/target-specific-build-settings/build-target-definitions.md) — Provides a structured schema for defining build items and reusable rules across different operating systems. ([source](https://learn.microsoft.com/visualstudio/msbuild/msbuild))
- [Build Extension Architectures](https://awesome-repositories.com/f/development-tools-productivity/workflow-automation-tools/build-task-automation/build-extension-architectures.md) — Offers an extensible framework that allows developers to create custom build tasks and extend core build functionality.

### Software Engineering & Architecture

- [Item-Based Parameter Passing](https://awesome-repositories.com/f/software-engineering-architecture/flexible-parameter-passing/item-based-parameter-passing.md) — Groups files and resources into typed collections that serve as the primary data inputs for build tasks.
- [Directed Acyclic Graph Pipelines](https://awesome-repositories.com/f/software-engineering-architecture/parallel-processing-pipelines/directed-acyclic-graph-pipelines.md) — Uses directed acyclic graphs to resolve target dependencies and determine the optimal task execution sequence.
- [Build Logic Extensions](https://awesome-repositories.com/f/software-engineering-architecture/plugin-based-logic-extensions/build-logic-extensions.md) — Allows the creation of specialized build tasks and reusable rules to handle unique compilation requirements.
- [XML Configurations](https://awesome-repositories.com/f/software-engineering-architecture/xml-configurations.md) — Defines build logic, items, and properties using a structured, declarative XML schema.
- [CI/CD Integrations](https://awesome-repositories.com/f/software-engineering-architecture/integration-extensibility/workflow-automation-integrations/ci-cd-integrations.md) — Integrates the build and packaging process into CI/CD pipelines via programmatic interfaces.

### Testing & Quality Assurance

- [Build Variable Evaluations](https://awesome-repositories.com/f/testing-quality-assurance/boolean-assertions/conditional-logic-evaluation/build-variable-evaluations.md) — Implements a logic engine to calculate build variables at runtime based on conditional properties and environment state.

### Part of an Awesome List

- [Build Automation](https://awesome-repositories.com/f/awesome-lists/devtools/build-automation.md) — Core platform for building .NET applications.
