Mac下VSCode的C# Dev Kit突然停止编译代码求助
解决VSCode中.NET Server加载libhostfxr.dylib签名失效问题
问题分析
核心错误为libhostfxr.dylib签名无效:无Team ID且非平台二进制,这是macOS代码签名验证机制拦截了C# Dev Kit自动安装的.NET运行时文件,大概率因扩展更新后自动同步的运行时包签名异常导致。
已验证无效操作
- 重启VSCode
- 重新安装dotnet-sdk-7.0.403-osx-x64
- 启用
Dotnet>Server: Use Omnisharp选项
可行解决方案
方案1:重置VSCode自动管理的.NET运行时
移除异常的运行时文件,让C# Dev Kit重新下载并安装正确签名的版本:
- 关闭VSCode
- 打开Finder,前往路径:
~/Library/Application Support/Code/User/globalStorage/ms-dotnettools.vscode-dotnet-runtime/.dotnet - 删除
7.0.13~x64整个文件夹 - 重新启动VSCode,等待C# Dev Kit自动完成运行时的重新下载与安装
方案2:手动指定本地已安装的.NET SDK
跳过VSCode自动管理的运行时,直接调用系统已安装的SDK:
- 打开VSCode设置(快捷键
Cmd+,) - 搜索
Dotnet: Path选项 - 将值设置为本地.NET SDK的执行路径,例如
/usr/local/share/dotnet/dotnet - 重启VSCode生效
方案3:临时修复文件签名(应急用,不推荐长期使用)
若前两种方案无效,可临时绕过签名验证(存在安全风险):
打开终端执行以下命令:
sudo xattr -r -d com.apple.quarantine ~/Library/Application\ Support/Code/User/globalStorage/ms-dotnettools.vscode-dotnet-runtime/.dotnet/7.0.13~x64/host/fxr/7.0.13/libhostfxr.dylib
接着执行:
codesign --force --deep --sign - ~/Library/Application\ Support/Code/User/globalStorage/ms-dotnettools.vscode-dotnet-runtime/.dotnet/7.0.13~x64/host/fxr/7.0.13/libhostfxr.dylib
补充说明
该问题多为微软自动分发的.NET运行时包签名环节异常导致,优先尝试方案1重置运行时,这是最稳妥的解决方式。
内容的提问来源于stack exchange,提问作者Corey
相关产品推荐
相关产品推荐

