dotnet / dotnet/vscode-dotnet-runtime

Support explicit system-wide .NET runtime installation for extension clients

Open
#2,781 0 comments 0 reactions 0 assignees View on GitHub
Dominant language
TypeScript
Stars
209
Forks
455
PR merge metrics
No merged PRs in 30d

Description

### Motivation
C# Dev Kit Workspace Requirements discovers target framework requirements only after restore/design-time build and needs to remediate missing target runtime bands without installing a full SDK or using a private extension root.

### Existing Behavior
Currently, local `dotnet.acquire` and global `dotnet.acquireGlobalSDK` exist, but there is no system-wide runtime/ASP.NET Core API.

### Proposed API
We propose a new `dotnet.acquireGlobalRuntime` command accepting the existing `IDotnetAcquireContext` object:
- Required parameters: `version`, `requestingExtensionId`, `installType: 'global'`, and a mode specifying either `runtime` or `aspnetcore`.
- Return type: `IDotnetAcquireResult`.

This is explicitly opt-in by the calling extension and does not change any default/local acquisition behaviors.

### Compatibility & Security
- Preserve all existing APIs.
- Use official installers.
- Utilize existing elevation/hash/domain checks.
- Platform behavior is consistent with global SDK acquisition.

### Acceptance Criteria
- Acceptance criteria for Windows/macOS/Linux where supported.
- Release metadata resolution for `runtime` and `aspnetcore`.
- Unit/integration tests.
- Command documentation and code sample.

I intend to update WIP PR #2573 to implement it.

Contributor guide

Open the contributing guide

Research direction

Start by reviewing the existing dotnet.acquire and dotnet.acquireGlobalSDK APIs and the proposed WIP PR #2573. Trace how IDotnetAcquireContext, IDotnetAcquireResult, release metadata resolution, installers, and elevation/hash/domain checks are handled. Done includes the global runtime command for runtime and aspnetcore modes, supported-platform tests, documentation, and a code sample.

Written by the indexing model from the issue text.

Assessment

Tech stack
typescript
Domain
devtools
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Active
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.