Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Out-of-process host for MSBuild #110

Open
tintoy opened this issue Nov 16, 2024 · 0 comments
Open

Out-of-process host for MSBuild #110

tintoy opened this issue Nov 16, 2024 · 0 comments

Comments

@tintoy
Copy link
Owner

tintoy commented Nov 16, 2024

At present, MSBuild has to be loaded into the same process as the language server, which can be problematic when the required version of MSBuild does not target the same SDK / runtime as the language server.

High-level design:

[VSCode Extension] ==LSP==> [Language Server] ==MIP==> [MSBuild Server]

  • LSP = Language Server Protocol
  • MIP = MSBuild Inspector Protocol)
  • MSBuild Server = process with some sort of API endpoint, hosting an MSBuild ProjectCollection

LSP is basically JSON-RPC, but has requirements which have resulted in it being designed that way.
For MIP, we can probably get away with GRPC or similar.

Tricky bits:

  • Selecting correct SDK and runtime for MSBuild Server
  • Launching MSBuild Server so that it uses the correct SDK and runtime
  • Managing project state, without making the API too chatty
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant