[Feature Request]: MSBuild Server Identifier
- Dominant language
- C#
- Stars
- 5.5k
- Forks
- 1.5k
- Avg merge
- 1d 13h
- Merged PRs (30d)
- 133
Description
### Summary
Server reuse across clones, can lead to issues when Shutdown, leading to errors.
### Background and Motivation
When having multiple Clones of the same repository using MSBuild Server for speeding up compilation, we end up in situations where the MSBuild Server gets shutdown from the other clone, while a compilation is ongoing, resulting in errors because of Server Shutdown.
Our setup:
- Each clone have its own copy of MSBuild copied into it, and execute MSBuild Server.
### Proposed Feature
Add an Identifier to the started server + nodes started by the server, so repositories can't interfere with each other.
It would be optimal if:
- The Identifier could be passed as an argument or a new env var `SharedId`
- The Identifier would be additive to the current `CommunicationsUtilities.GetHandshakeOptions` so it would work as today if no extra identifier was added.
- Add the public api to `MSBuildClient` to support MSBuild Server Identifier.
- Possible to use the same `SharedId` to pass to Roslyn's similar concept `SharedCompilationId`
This would make it easier to control multiple msbuild servers that can't interfere with eachother.
### Alternative Designs
The MSBuild Server is identified with the location, so if we have two copies of MSBuild, each would have a unique identity and MSBuild Server + Nodes.
Contributor guide
No contributing guide indexed for this repository
Assessment
This issue has not been assessed yet.