dotnet / dotnet/sdk

Define behavior for root-level `dotnetup uninstall` and `dotnetup update` commands

Open
#53,393 0 comments 0 reactions 0 assignees View on GitHub
Area-dotnetup Area-Install
Dominant language
C#
Stars
3.2k
Forks
1.3k
PR merge metrics
PR metrics pending

Description

## Context

PR https://github.com/dotnet/sdk/pull/53290 adds `dotnetup sdk uninstall`, `dotnetup runtime uninstall`, `dotnetup sdk update`, and `dotnetup runtime update` subcommands. However, the root-level `dotnetup uninstall` and `dotnetup update` commands (without the `sdk`/`runtime` qualifier) need their behavior defined.

## Questions to resolve

### `dotnetup uninstall`
- Should this do nothing and tell the user to use `dotnetup sdk uninstall` or `dotnetup runtime uninstall`?
- Should it eventually uninstall dotnetup itself?
- Or should it uninstall both all runtimes and all SDKs?

### `dotnetup update`
- Similar question: should it update everything (both SDKs and runtimes), or require the user to specify `sdk update` / `runtime update`?
- Currently `dotnetup update` routes to `SdkUpdateCommand` with `updateAllOverride: true`, which updates all components. Is this the desired default?

These two issues are related.

## Origin

PR #53290 review comment: https://github.com/dotnet/sdk/pull/53290#discussion_r2897616399

Contributor guide

No contributing guide indexed for this repository

Research direction

Start by reading PR #53290 and the current root-level command routing, especially SdkUpdateCommand and its updateAllOverride: true behavior. Resolve and record the intended semantics for root-level dotnetup uninstall and update versus the sdk and runtime subcommands; the work is done when both commands have an agreed, consistent behavior.

Written by the indexing model from the issue text.

Assessment

Tech stack
csharp
Domain
cli
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.