tintoy / msbuild-project-tools-server

Language server for MSBuild intellisense (including PackageReference completion).
MIT License
58 stars 16 forks source link

Out-of-process host for MSBuild #110

Open tintoy opened 1 week ago

tintoy commented 1 week ago

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 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: