How to uninstall .NET SDK 8 on Windows
Check your projects' global.json and required SDK versions before removing SDK 8. Close builds and keep source code, projects and global tools. This guide covers the standalone ARM64 SDK installed with Microsoft.DotNet.SDK.8, not a component managed by Visual Studio.
Remove the exact SDK entry
Go to Settings › Apps › Installed apps, select the SDK 8 version and architecture you want to remove, then choose Uninstall. Microsoft documents removing individual SDK and runtime entries; a Visual Studio-managed component belongs in the Visual Studio Installer.
For the matching winget package, run:
winget uninstall --id Microsoft.DotNet.SDK.8 --exact
This starts the registered Burn uninstaller. Keep its cached installer available until it finishes; removing one SDK is not a reason to remove every runtime.
Preserve shared locations
| Location | What to do |
|---|---|
%ProgramFiles%\dotnet |
Keep the shared installation root; other SDKs, runtimes and tools use it |
%ProgramData%\Package Cache |
Keep installers needed for repair and removal |
Your project folders and global.json |
Keep project files and SDK selection settings |
Use the SDK and runtime lists to check specific versions instead of deleting the shared directory. Microsoft warns that deleting the whole dotnet directory can break Visual Studio and leave installation records behind.
Check the result
dotnet --list-sdks
dotnet --list-runtimes
winget list --id Microsoft.DotNet.SDK.8 --exact
Test-Path "$env:ProgramFiles\dotnet"
The SDK list should no longer contain the removed SDK; other versions can remain. The runtime list is a separate inventory, not proof that a project builds. No winget match means the package record is gone. True for the shared directory is expected if another SDK or runtime uses it, and False means the directory is absent. A missing dotnet command or another error leaves the check unresolved; check which architecture and installation your shell uses.
What Mole lists
The tested SDK has no exclusive program directory or app-owned leftover rows. Mole runs its registered uninstaller and leaves the shared dotnet root and Package Cache alone. It does not remove your projects or other SDK versions with this entry.
What this test covered
Tested on October 3, 2026 with SDK 8.0.425 ARM64, machine-wide winget installation. The installer record used product version 8.4.2526.42109, which is different from the SDK version. The Burn uninstall completed and SDK 10.0.401 still appeared in dotnet --list-sdks. A separate vendor-only uninstall was checked immediately and after ten minutes. Project builds, global tools and Visual Studio-managed SDK removal were not tested.
