必须安装.net sdk而非runtime,否则无法运行;dotnet --version报错是path未生效或装错包,需用where.exe/which验证路径;打开单个.cs文件无提示,须用“file > open folder”打开含.csproj/.sln的目录;首次f5选“yes”自动生成launch.json;状态栏显示项目名和net8.0才算就绪。

必须装 .NET SDK,不是 Runtime;装错就根本跑不起来。
dotnet --version 报“不是内部或外部命令”
这不是安装失败,是系统找不到 dotnet 可执行文件。常见原因有三个:
- Windows 安装器里取消勾选了“将 .NET SDK 添加到 PATH”(默认是勾选的)
- 安装完没重启终端——PowerShell 或 CMD 必须关掉重开,PATH 才刷新
- 误装了
.NET Runtime(如 ASP.NET Core Runtime 或 Desktop Runtime),它不带dotnet new、dotnet build等 CLI 工具
验证方式:打开全新终端,运行 where.exe dotnet(Windows)或 which dotnet(macOS/Linux)。正常应返回类似 C:\Program Files\dotnet\dotnet.exe 的路径。若为空,说明环境变量未生效或装错了包。
打开单个 Program.cs 没智能提示、F5 调试失败
C# 扩展(OmniSharp)只在识别到项目上下文时才启动。它依赖 .csproj 或 .sln 文件来确定目标框架、引用和编译规则。
- 直接双击打开单个
Program.cs,状态栏会显示 “C# features are disabled”,这是预期行为 - 正确做法:终端执行
dotnet new console -n MyApp && cd MyApp && code .,然后用 VSCode 的 File > Open Folder 打开整个MyApp目录 - 首次打开含
.csproj的文件夹时,底部状态栏会显示 “OmniSharp: Starting…”——这个过程可能卡住,尤其在国内网络环境下(它在后台下载omnisharp-win-x64.zip等语言服务器) - 若卡超 2 分钟,可手动删掉
%USERPROFILE%\.omnisharp\(Windows)或~/.omnisharp/(macOS/Linux),再重开 VSCode
dotnet run 报错 / F5 提示 “Could not find debug adapter for type 'coreclr'”
本质是项目没被正确加载,调试器无法识别运行时类型。关键检查点:
- 是否在项目根目录(即含
.csproj的那层)打开文件夹?不是上层父目录,也不是子目录 -
.csproj中的TargetFramework是否与本地已安装 SDK 匹配?例如写的是<targetframework>net8.0</targetframework>,但dotnet --list-sdks输出里只有10.0.100,就会失败 - 是否用了旧版 C# 插件?老插件(非 “C# Dev Kit”)依赖 OmniSharp,而 .NET 8+ 新项目默认启用 msbuild 评估模式,兼容性差;建议安装官方
C# Dev Kit(ms-dotnettools.csharp)并禁用旧插件 - 项目是否已成功构建?检查是否有
bin/和obj/目录生成;没有说明dotnet build都没过,调试更无从谈起
最常被忽略的一点:VSCode 不会自动继承你终端里通过 global.json 切换的 SDK 版本。如果项目指定了 "version": "8.0.400",但 VSCode 启动时读取的是系统默认 SDK,OmniSharp 就可能加载失败——此时需确保 VSCode 是从正确配置的终端中启动(例如在已执行 cd MyApp && code . 的 PowerShell 里打开),而非桌面快捷方式冷启动。











