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

MacOS下VSCode多窗口打开C#项目提示未安装.NET SDK问题咨询

解决VSCode多窗口打开不同.NET SDK版本项目的SDK找不到问题

完全可以在不同VSCode窗口同时打开并编译这两个项目,问题根源是OmniSharp扩展的SDK版本检测逻辑导致的多窗口冲突,以下是具体解决方案:

  • 为每个项目单独指定SDK版本
    在每个项目的根目录创建global.json文件,明确该项目依赖的.NET SDK版本,示例内容:

    {
      "sdk": {
        "version": "6.0.417" // 替换为项目实际需要的SDK版本
      }
    }
    

    OmniSharp会优先读取项目本地的global.json配置,避免不同窗口间的SDK版本干扰。

  • 调整VSCode C#扩展配置
    打开VSCode设置(快捷键Ctrl+,),完成两项配置:

    1. 搜索OmniSharp: Use Global Mono,设置为never,强制使用项目指定的SDK环境;
    2. 搜索OmniSharp: Path,保持默认的null让扩展自动检测,或手动指定对应版本的OmniSharp路径。
  • 重启OmniSharp服务
    若切换窗口后仍报错,打开命令面板(Ctrl+Shift+P),执行OmniSharp: Restart OmniSharp命令,让扩展重新加载当前项目的SDK配置。

  • 验证SDK安装与环境变量
    打开终端执行dotnet --list-sdks,确认两个项目依赖的SDK版本都已安装;同时检查系统PATH环境变量,确保包含所有已安装SDK的dotnet可执行文件路径,避免环境变量读取异常。

这类问题通常是因为两个项目依赖不同版本的.NET SDK,第一个窗口加载后OmniSharp缓存了全局SDK信息,导致第二个窗口无法正确识别对应版本。通过本地global.json配置隔离版本后,即可实现多窗口独立编译不同项目。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.03 10:07:08