VS Code终端与命令提示符中.NET SDK版本不一致问题求助
.NET版本显示不一致问题排查与解决
可能的原因
- 终端环境变量优先级问题:VS Code终端继承的
PATH环境变量中,.NET 7的路径排在.NET 9之前,导致系统优先调用旧版本。 - VS Code终端未刷新环境:安装.NET 9后未重启VS Code,终端仍使用启动时加载的旧环境变量。
- 项目版本锁定:项目根目录下的
global.json文件可能硬编码指定了使用.NET 7版本。 - VS Code插件缓存:C#扩展缓存了旧版本的.NET路径,未识别新安装的.NET 9。
解决步骤
- 重启VS Code:关闭所有VS Code窗口后重新打开,再执行
dotnet --version验证版本。 - 调整环境变量顺序
- 打开系统环境变量(右键此电脑→属性→高级系统设置→环境变量)
- 在系统变量的
PATH列表中,将.NET 9.0对应的路径(通常是C:\Program Files\dotnet\)移至.NET 7路径的上方,保存后重启终端和VS Code。
- 检查并修改global.json
- 在项目根目录查找
global.json文件,若存在,将sdk.version字段改为9.x,或直接删除该文件(让系统自动使用最新安装版本),之后在终端重新执行dotnet --version。
- 在项目根目录查找
- 刷新终端环境变量
- 命令提示符中执行
refreshenv,PowerShell中执行$env:Path = [System.Environment]::GetEnvironmentVariable("Path","Machine") + ";" + [System.Environment]::GetEnvironmentVariable("Path","User"),刷新后再查看版本。
- 命令提示符中执行
- 更新C#扩展
- 打开VS Code扩展面板,找到Microsoft官方的C#扩展,检查并安装更新,完成后重启VS Code。
内容的提问来源于stack exchange,提问作者Helios093
相关产品推荐
相关产品推荐

