【问题标题】:Unity: Omnisharp is not finding referenced projects in VSCodeUnity:Omnisharp 没有在 VSCode 中找到引用的项目
【发布时间】:2020-02-08 05:02:35
【问题描述】:

我最近升级到 Unity 2019.3.0f6。当我打开我的一个 c# 文件时,我注意到 UnityEngine.UI 没有被识别为有效的命名空间。这导致我在引用此命名空间时得到红色曲线。 IntelliSense 也停止工作。这个问题只出现在 VSCode 中,我的项目在 Unity 中仍然可以正常运行。

我检查了 Omnisharp 日志,发现了一些错误,告诉我 Omnisharp 无法找到 UI .csproj 文件和其他一些文件。

[warn]: OmniSharp.MSBuild.ProjectLoader
    The referenced project 'UnityEngine.UI.csproj' does not exist.

这是什么原因造成的?

我已经尝试过的事情:

  • 检查 dotnet 命令是否有效
  • 重新安装 c# vscode 插件
  • 删除 .sln 和 .csproj 文件并让 Unity 重新生成它们
  • 重新安装 Unity

【问题讨论】:

  • 你安装了visual studio代码包吗?
  • @BugFinder 是的,我已经安装了 2019.3 验证版本的包。

标签: c# unity3d visual-studio-code csproj omnisharp


【解决方案1】:

这是 Visual Studio Code Editor 包 1.1.4 版本中的一个错误。

这些是我解决此问题的步骤:

  1. 在 Unity 编辑器中打开窗口 > 包管理器
  2. 选择 Visual Studio 代码编辑器并单击删除
  3. 在 Visual Studio Code Editor 下选择“查看所有版本”
  4. 选择版本 1.1.3 并点击安装
  5. 重启 VS 代码

这个here有论坛讨论

实际问题正在 Unity 问题跟踪票 here 上处理

更新:

目前的 Visual Studio Code Editor 包版本 1.2.1 没有这个 bug。

【讨论】:

  • 感谢您的回答,我会尽快检查这是否对我有效,如果有效,请接受您的回答。
  • 在尝试解决该问题 2 天后....最后谢谢兄弟....
  • 非常感谢,我只是想要 IntelliSense,现在我可以使用它了,谢谢!!!
  • 切换到 1.1.3。没有为我工作。统一 2019.3.4f1。 VS 代码 1.43.0
  • 降级到1.1.3,解决了Unity 2019.3.7f1上的问题
【解决方案2】:

Unity 项目的根目录下有Assembly-CSharp.csproj 文件。我添加了这个来修复错误:

<Reference Include="UnityEngine.UI">
<HintPath>Library/ScriptAssemblies/UnityEngine.UI.dll</HintPath>
</Reference>

【讨论】:

  • 这是一个真正为我工作的解决方案,接受的解决方案并没有改变任何东西。谢谢!
  • 这实际上为我修复了它,即使使用 1.2.2 Visual Studio Code Editor 包也导致了问题。
【解决方案3】:

我今天遇到了完全相同的问题。没有改变任何东西。它刚刚坏了。我认为 VSCode 中的 C# 插件需要更新,但我不能确定。我对 Unity 还很陌生,但似乎就是这样。与此同时,我切换到 VS2019,它似乎正在工作。但我更喜欢 VSCode,所以我也在寻找解决方案。

【讨论】:

  • 看起来这是迄今为止最好的选择... :( 感谢您的解决方案!
  • 它现在可能又可以工作了。至少在我这边是这样。我今天早上加载了我的项目,一切似乎都很好。
【解决方案4】:

在较新版本的 Unity 中,这可能仍然会发生在您身上,您可以尝试这些答案,但如果使用 VSCode 并重新生成它们,请首先确保您至少在项目设置中激活了“嵌入式包”和“本地包” ;至少对我来说,由于缺少程序集而导致的错误消失了。也许对于其他问题,您也可以尝试勾选其他问题。

当然,我的程序集在 Unity 中已正确设置以相互引用。只是想为那些在寻找解决方案时可能忽略该设置的人添加这个(我很确定原作者已经这样做了,但我看到一些提示我的 cmets,并不是每个人都首先尝试过)

设置中启用的部分:

【讨论】:

    【解决方案5】:

    Mac 上的 VSCode。 Omnisharp 无法加载的问题。 YouTube 用户 Axiom。他解释了如何修复 Omnisharp 加载。在我关注他的视频后,它解决了我的加载问题。 修复。 在您的 C# exstions 下,选择“Extension Settings”,然后在搜索栏中添加“useGlobalMono” - 在 Use Global Mono 下 - 将“auto”更改为“always”并重新启动 Omnisharp。

    视频参考 - https://youtu.be/KJYrRv9cShY

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-10-18
      • 2018-11-28
      • 2020-11-03
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多