Omnisharp Mono加载失败:找不到'ILoggerFactory'合约导出
针对你遇到的M1 MacBook上Omnisharp Mono加载失败、报错No export was found for the contract 'ILoggerFactory'的问题,以下是几个可尝试的解决步骤:
清理Omnisharp缓存
找到M1 Mac上的Omnisharp缓存目录~/.omnisharp,删除整个文件夹后重启VS Code,让Omnisharp重新生成缓存文件。回滚Omnisharp扩展版本
在VS Code扩展面板找到Omnisharp扩展,点击右侧齿轮图标选择「安装另一个版本」,挑选此前能正常运行的旧版本,新版本可能存在兼容性bug导致该报错。指定Mono路径到Omnisharp配置
打开VS Code的settings.json,添加或修改如下配置,指定Mono的实际安装路径(M1 Mac上通常是/Library/Frameworks/Mono.framework/Versions/Current/Commands/mono):"omnisharp.monoPath": "/Library/Frameworks/Mono.framework/Versions/Current/Commands/mono"保存配置后重启VS Code生效。
检查并重新安装适配ARM的.NET SDK
运行终端命令dotnet --version确认.NET SDK是否正常工作,若存在异常,重新下载安装适配M1芯片的.NET SDK,Omnisharp部分功能依赖.NET环境的完整性。重置VS Code用户设置
备份当前的settings.json文件后,重置VS Code为默认设置,排除自定义配置冲突导致的加载问题,之后再逐步恢复必要的配置项。
内容的提问来源于stack exchange,提问作者junius7even

