dotnet --version报“command not found”主因是未正确安装.NET SDK或PATH未生效,需验证安装路径、重启终端、确保装的是SDK而非Runtime,并检查dotnet --list-sdks与.csproj中TargetFramework是否匹配。

必须装 .NET SDK,不能只装 Runtime;VSCode 本身不带编译器,装错就根本跑不起来。
dotnet --version 报 “command not found” 怎么办
这不是插件或 VSCode 的问题,是系统根本找不到 dotnet 命令。常见原因有三个:
- 安装时没勾选“将 .NET SDK 添加到 PATH”(Windows 安装器默认勾选,但有人会取消)
- 安装后没重启终端——PowerShell、CMD 或 zsh 窗口必须关掉重开,PATH 才刷新
- 装的是
.NET Runtime而非.NET SDK:Runtime 只能运行已编译程序,dotnet new、dotnet build全靠 SDK 提供
验证方式很简单:打开全新终端,执行 where.exe dotnet(Windows)或 which dotnet(macOS/Linux)。如果返回空,说明路径没生效;正常路径通常是 C:\Program Files\dotnet\dotnet.exe 或 /usr/share/dotnet/dotnet。
C# 扩展显示 “OmniSharp: Starting…” 卡住不动
这是 OmniSharp 在后台下载语言服务器 zip 包(如 omnisharp-win-x64.zip),国内用户常因网络问题卡死。不是插件坏了,也不是项目错了。
- 第一次打开
.cs文件时,状态栏显示该提示超过 2 分钟,基本可判定是下载失败 - 临时解法:关掉 VSCode,手动删掉
%USERPROFILE%\.omnisharp\(Windows)或~/.omnisharp/(macOS/Linux),再重开 - 更稳做法:去 OmniSharp 官方 release 页面 下载对应版本 zip 包,解压后扔进上述目录
- 注意:若你装了
C# Dev Kit,请在设置里关掉omnisharp.useGlobalMono并禁用csharp.extension.autoStart,改用.NET CLI驱动的 LSP 模式(.NET 8+ 推荐)
F5 调试报 “Could not find debug adapter for type 'coreclr'”
本质是 VSCode 没识别出这是一个 .NET 项目,调试器压根没加载。最常踩的坑就两个:
- 没在项目根目录(即含
.csproj文件的那层)打开文件夹:VSCode 必须打开整个项目文件夹,不能只打开单个Program.cs -
.csproj中TargetFramework写错了,比如写成net8.0但本地只有net10.0SDK——执行dotnet --list-sdks输出必须包含项目要求的版本 - 如果项目有
global.json,里面"version"字段锁定了 SDK 版本,就得装那个精确版本,不能只装最新版
顺带一提:launch.json 里 program 字段默认指向 ${workspaceFolder}/bin/Debug/net8.0/MyApp.dll,但如果项目用了 RID(如 win-x64),实际路径可能是 bin/Debug/net8.0/win-x64/MyApp.dll,路径不对就会调试失败。
装哪个 .NET SDK 版本最稳妥
别看官网推荐最新版,实际开发中版本错配才是最大雷区。
- 新项目:优先装
.NET 8.0.100(LTS,2023 年 11 月起官方主推,兼容性与工具链最稳) - 维护老项目:先查根目录有没有
global.json,里面"version"字段写的是啥,就装对应 SDK(比如"6.0.400") - Windows 用户避开
dotnet-sdk-8.0.1xx-win-x64.exe这类 Web Installer,它依赖静默下载,容易卡死;直接下dotnet-sdk-8.0.100-win-x64.exe(离线完整包) - macOS 用户若曾用 Homebrew 装过旧版,先执行
brew uninstall dotnet-sdk再装官网包,否则路径冲突
复杂点在于:VSCode 不会主动告诉你 SDK 版本和项目不匹配,它只是静默失败——断点不命中、补全失效、dotnet build 报错都可能是这个原因。检查 dotnet --list-sdks 和 .csproj 里的 TargetFramework 是否对得上,比反复重装插件管用得多。


















