You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

卸载.NET 6 SDK后执行dotnet --version仍返回6.x版本如何解决

如何彻底卸载.NET 6 SDK?

实话说我并不想回退到.NET 5,但由于工作相关的VS授权问题不得不执行该操作。

操作开始前,我执行dotnet --version命令,返回结果为预期的6.x版本。

Windows 应用和功能面板仅展示旧版本SDK,未显示.NET 6相关条目,我顺利卸载了所有旧版本SDK。

再次执行dotnet --version,仍然返回6.x版本。

微软官方指引推荐使用**.NET Uninstall Tool**,但该工具说明标注无法卸载通过VS 2019及更高版本安装的SDK(.NET 6随VS 2022分发安装),因此我并未实际尝试该工具,判断其无法适用。

随后我打开Visual Studio Installer选择修改选项,取消勾选.NET 6 SDK,勾选.NET 5(我仅需要保留.NET 5,不需要更高版本)。完成修改操作后重新打开Visual Studio Installer,显示已安装.NET 5、未安装.NET 6;同时Windows应用和功能面板也无.NET 6相关条目,仅显示已安装.NET 5,看似操作已全部完成。

但执行dotnet --version,返回结果仍然是6.x版本。


你遗漏了3个核心清理步骤,VS Installer和控制面板的卸载逻辑不会自动处理这些内容:

  • 第一步:定位并删除所有残留的.NET 6实体文件
    不要依赖卸载面板的已安装列表,直接执行dotnet --list-sdks命令,该命令会输出当前系统能识别到的所有SDK的版本号、对应物理存储路径,找到所有标注为6.x版本的SDK对应的文件夹,手动删除即可。
    两个最常见的残留路径:
    • 全局SDK目录:C:\Program Files\dotnet\sdk\下对应6.x版本号的文件夹,顺带把同级目录templates、packs、runtime、host下所有带6.x版本标识的子文件夹一并删除
    • VS私有SDK目录:C:\Program Files\Microsoft Visual Studio\2022\你的VS版本名\MSBuild\Microsoft\Microsoft.NET.Build.Extensions\下的6.x版本相关文件夹,VS自带的SDK不会存到全局dotnet目录,这部分是最高发的残留点
  • 第二步:修正环境变量优先级并清除缓存
    1. 打开系统环境变量编辑面板,找到Path变量,确认C:\Program Files\dotnet\(你安装.NET5的全局路径)的排序在所有其他带dotnet字样的路径之前,移除VS私有目录下的dotnet路径、C:\Program Files (x86)\dotnet\下的无效路径
    2. 所有修改完成后,必须完全关闭所有已打开的终端、PowerShell、CMD窗口,旧窗口会缓存修改前的环境变量,不重开怎么测试都会返回旧版本结果
  • 第三步:清除全局SDK版本绑定规则
    打开当前用户根目录(C:\Users\你的用户名\),检查是否存在global.json文件,如果文件里配置了固定的.NET 6版本号,直接删除该文件,或者修改内容为你安装的.NET5对应版本号即可。如果不处理这个配置,哪怕文件全删了,dotnet命令也会优先找配置里指定的6.x版本。

全部操作完成后,新开终端执行dotnet --list-sdks,确认列表里仅存在你保留的.NET5版本,再执行dotnet --version就会返回正确的版本结果。
补充:你之前认为.NET Uninstall Tool不适用是误判,执行时加--force参数即可扫描到VS安装的SDK残留,不过手动按上述步骤清理可控性更高,不会误删需要保留的.NET5组件。

内容的提问来源于stack exchange,提问作者Josh

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.27 16:48:44