Skip to content

Roslyn-from-SDK runtime loading (draft) - #423

Draft
razzmatazz wants to merge 1 commit into
mainfrom
roslyn-from-msbuild
Draft

razzmatazz wants to merge 1 commit into
mainfrom
roslyn-from-msbuild

Conversation

@razzmatazz

Copy link
Copy Markdown
Owner

Summary

  • Adds plans/roslyn-from-sdk-runtime-loading.md, extracting and generalizing the "Roslyn-from-SDK" analysis previously buried inside plans/razor-sdk-300-investigation.md into its own tracked, standalone plan.
  • Documents current architecture (Roslyn NuGet-pinned via RoslynPackageVersion; only MSBuild is dynamically resolved from the installed SDK via MSBuildLocator; project evaluation already runs out-of-process for free via Roslyn's own BuildHost), the primary problem (a future SDK upgrade can silently break an already-released, older csharp-ls build), the lower-priority mirror-image risk (an older SDK breaking newer csharp-ls code), and concrete precedent from OmniSharp and the official Microsoft.CodeAnalysis.LanguageServer — both of which use the same Roslyn-pinned/MSBuild-from-SDK split csharp-ls already has.
  • Lays out a gated, time-boxed spike (outside the main tree) with explicit trigger criteria before any implementation is attempted. No source code changes — planning only.
  • Links the new plan from plans/TODO.md.

🤖 Generated with ECA (anthropic/claude-sonnet-5)

Adds plans/roslyn-from-sdk-runtime-loading.md, extracting and generalizing
the "Roslyn-from-SDK" analysis buried in plans/razor-sdk-300-investigation.md
into a standalone plan: current architecture (Roslyn NuGet-pinned, only
MSBuild dynamically resolved from the SDK via MSBuildLocator), the primary
problem (future SDK upgrades silently breaking already-released csharp-ls
builds), risks (including the lower-priority mirror-image risk of an older
SDK breaking newer csharp-ls code), precedent from OmniSharp and the
official Roslyn LSP (both use the same split csharp-ls already has), and a
gated, time-boxed spike plan before any implementation commitment.

Links the new plan from plans/TODO.md.

🤖 Generated with [ECA](https://eca.dev) (anthropic/claude-sonnet-5)

Co-Authored-By: eca-agent <git@eca.dev>
@razzmatazz razzmatazz changed the title Plan: Roslyn-from-SDK runtime loading (architecture question) Roslyn-from-SDK runtime loading (draft) Sep 6, 2026
@razzmatazz
razzmatazz marked this pull request as draft September 6, 2026 13:22
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant