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

M1 Mac下VS Code Omnisharp Intellisense失效问题求助

解决方案

针对M1 Mac(Ventura 13.0.1)上OmniSharp引发的Intellisense失效、架构不匹配问题,可按以下步骤解决:

1. 清理并重新安装ARM64版.NET SDK

  • 卸载x64架构的.NET残留:
    sudo rm -rf /usr/local/share/dotnet/x64
    
  • 下载对应系统的ARM64版本.NET 6.0.x SDK并重新安装
  • 验证安装结果,执行命令确认架构为arm64:
    dotnet --info
    
    需确保输出中Architecture字段为arm64,SDK路径无x64子目录。

2. 强制OmniSharp使用ARM64运行时

  • 打开VS Code设置(Cmd+,),搜索并勾选Omnisharp: Use Modern Net
  • 打开settings.json,添加以下配置:
    "omnisharp.path": "latest",
    "omnisharp.useModernNet": true,
    "omnisharp.dotnetPath": "/usr/local/share/dotnet/dotnet"
    
  • 重启VS Code,等待OmniSharp服务重新加载

3. 清除OmniSharp缓存与扩展残留

  • 关闭VS Code,删除以下目录:
    • ~/.vscode/extensions/ms-dotnettools.csharp-*(所有C#扩展相关文件夹)
    • ~/.omnisharp
  • 重新打开VS Code,安装最新版微软C#扩展

4. 修复环境变量配置

  • 检查DOTNET_ROOT环境变量:
    echo $DOTNET_ROOT
    
  • 若指向x64目录,修改为ARM64 SDK路径,并写入shell配置文件(~/.zshrc或~/.bash_profile):
    echo 'export DOTNET_ROOT=/usr/local/share/dotnet' >> ~/.zshrc
    source ~/.zshrc
    
  • 重启终端和VS Code

问题根源

M1 Mac为ARM64架构,OmniSharp若调用x64版本.NET SDK会触发架构不匹配,导致System.BadImageFormatException;初始提示找不到arm64 SDK,说明系统中SDK架构错误或路径配置未指向正确的ARM64版本。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.12 14:55:21