macos - VS Code 找不到 OmniSharp 的 Mono

标签 macos unity-game-engine visual-studio-code intellisense omnisharp

编辑

已在 OmniSharp 更新 1.25.2 here 中修复

TLDR;

VS Code 说它需要 Mono(当它已经安装时)

目标

我尝试将 VS Code 与 Unity 结合使用,并让智能感知在 Code 中工作。

错误

以下是当我在 Unity 的 VS Code 中打开 C# 项目时收到的确切消息:

enter image description here

还在代码的输出中我看到此错误消息:

OmniSharp failed to start because of missing requirements.

配置和确认

  • 我已确认我已通过 which monomono --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/

相关文章:

cocoa - 核心图形和 GIF 颜色表

c# - Unity3D防止添加某些内置组件

c# - 如何将一个物体的局部轴旋转到另一个物体?

java - 如何使用 Visual Studio Code 连接到远程 Java 调试器

c++ - Mac OSX 上的 Eclipse CDT 问题

sql - 我下载了 mac os 的 mssql 工具,但它说 "sqlcmd: command not found"

c++ - Mac OSX 下 Eclipse CDT 与 Qt 交叉编译

unity-game-engine - <Unity> 我想在下拉菜单(TMP)的模板项标签处添加字体素材

python - 导入 "google.oauth2.credentials"无法解析 Visual Studio Code

visual-studio-code - 为什么使用 VS Code 任务执行 Windows 批处理文件时看不到任何输出