MSBuildWorkspace should load projects in parallel
- Dominant language
- C#
- Stars
- 20.7k
- Forks
- 4.3k
- PR merge metrics
- PR metrics pending
Description
We updated the BuildHost to support parallel MSBuild invocations so the C# LSP server could load projects in parallel, but MSBuildWorkspace still needs the same treatment. We need to either:
1. Figure out what parts of the MSBuildWorkspace code would need to be made thread safe.
2. Just rip out the code that does the build host to workspace state and reuse the code already in the LSP server for that. That would get us closer to also supporting reloading and similar needs we've long had.
Contributor guide
Research direction
Start by tracing how BuildHost, MSBuildWorkspace, and the C# LSP server currently handle project loading and workspace state. Determine whether MSBuildWorkspace can safely support parallel MSBuild invocations or should reuse the LSP server's existing implementation. Done means selecting and implementing an approach that enables parallel project loading without unsafe shared state.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- csharp
- Domain
- build-system, developer-experience
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Quiet
- Clarity
- Needs clarification
- Newbie friendliness
- 30/100