dotnet / dotnet/msbuild

[Feature Request]: Better documentation and examples around BuildManager

Open
#9,417 4 comments 0 reactions 0 assignees View on GitHub
Area: API Area: Documentation Feature Request Priority:3 triaged
Dominant language
C#
Stars
5.5k
Forks
1.5k
Avg merge
1d 8h
Merged PRs (30d)
141

Description

### Summary

General MSBuild documentation are really good, but when it comes to `BuildManager` the documentation are almost non existent, the API documentation contains no examples or further explanation.

The only way to understand `BuildManager` are to go digging in MSBuild source code.
What im specifically looking for:
- Logging, I couldnt find any in-memory public loggers, so had to implement my own. Only options was primarily Console or file loggers, but very little info of how to do this.
- When to use `BuildRequestData` or `GraphBuildRequestData`
- Better explanation about caching, ie. why use `BuildManager.DefaultBuildManager` reading [this ](https://github.com/dotnet/msbuild/blob/main/documentation/specs/single-project-isolated-builds.md)seem to suggest shared cache
- When to use `InputResultsCacheFiles`/`OutputResultsCacheFile`, its not intuitive. In the beginning I thought it was cache of Target Inputs/Outputs caching, but it dosnt seem thats the case.

General best practices, and usage examples would be really beneficial in this area.

### Background and Motivation

Using more time than needed looking at MSBuild source code to know what to do

### Proposed Feature

Add more documentation :)

### Alternative Designs

_No response_

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.