编辑
已在 OmniSharp 更新 1.25.2 here 中修复
TLDR;
VS Code 说它需要 Mono(当它已经安装时)
目标
我尝试将 VS Code 与 Unity 结合使用,并让智能感知在 Code 中工作。
错误
以下是当我在 Unity 的 VS Code 中打开 C# 项目时收到的确切消息:
还在代码的输出中我看到此错误消息:
OmniSharp failed to start because of missing requirements.
配置和确认
- 我已确认我已通过
which mono
和mono --version
安装了 Mono - 我还确认我已通过
dotnet msbuild
安装了 MSBuild - 已安装 C# 扩展,并将
omnisharp.useModernNet
设置为false
- Unity 外部脚本编辑器设置为 VS Code,并选中以下选项:嵌入式包、本地包和来自未知来源的包。
我尝试过的事情
- 单声道路径与默认路径略有不同,因此我尝试将路径添加到 VS Code 中而不进行任何更改。
- 我在 VS Code 终端中输入
mono --version
并获得了预期的版本 - 删除“Assembly-CSharp.csproj”和“.sln”文件,然后在 Unity 中重新生成项目文件。
- 将其关闭并再次打开(也称为重新启动我的计算机和程序)。
- 如果我将
omnisharp.useModernNet
设置为true
,那么我会在 VS Code 输出中收到以下错误:
This project targets .NET version that requires reference assemblies that are not installed (e.g. .NET Framework). The most common solution is to make sure Mono is fully updated on your machine (https://mono-project.com/download/) and that you are running the .NET Framework build of OmniSharp (e.g. 'omnisharp.useModernNet': false in C# Extension for VS Code).
系统和版本
- macOS 12.6.1
- Mac mini M1 2020
- VSCode 1.73.0
- Unity 2021.3.13f1
- dotnet 7.0.100
- 单声道6.12.0.182
- 适用于 .NET 的 MSBuild 版本 17.4.0+18d5aef85
最佳答案
这是一个已知的 Omnisharp (1.25.1) issue 。我认为您要么必须等待补丁发布,要么将您的 Omnisharp 降级回版本 1.25.0。
关于macos - VS Code 找不到 OmniSharp 的 Mono,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/74376999/