Nimblesite / Nimblesite/SharpLsp

MSBuildInstanceSelector: exact Roslyn version equality — SDK servicing skew falls back to a known-broken registration

Open
#166 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

bug critical
Dominant language
TypeScript
Stars
132
Forks
5
Avg merge
6h 24m
Merged PRs (30d)
27

Description

From the multi-agent audit (sidecars/SharpLsp.Sidecar.CSharp/MSBuildInstanceSelector.cs ~166): SDK selection accepts an SDK only when its Roslyn assembly version EXACTLY equals the bundled one; any servicing skew (e.g. bundled 5.6.0.0 vs SDK 5.6.1.0) rejects every SDK and falls back to a registration already known not to satisfy the bundled surface — reproducing the #159 crash-loop class on machines that are actually fine.

Selection should accept any SDK whose Roslyn is >= the bundled surface's requirement (or better: stop depending on the SDK's Roslyn at all now that #159 ships the full bundled set — verify which assemblies still resolve from the MSBuild directory and pin/carry them).

Relates: #135, #159.

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Read sidecars/SharpLsp.Sidecar.CSharp/MSBuildInstanceSelector.cs around line 166 and compare the exact Roslyn-version check with the bundled assembly behavior from #159. Verify which assemblies still resolve from the MSBuild directory and whether servicing versions can be accepted without falling back to the known-broken registration. Done means SDK selection avoids the #159 crash-loop case on machines with a servicing skew.

Written by the indexing model from the issue text.

Assessment

Tech stack
csharp
Domain
build-system
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
52/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.