Unity:Omnisharp 在 VSCode 中找不到引用的项目

Lev*_*i J 2 c# csproj unity-game-engine omnisharp visual-studio-code

我最近升级到 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.
Run Code Online (Sandbox Code Playgroud)

什么会导致这种情况?

我已经尝试过的事情:

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

Tim*_*kas 8

这是 Visual Studio 代码编辑器包 1.1.4 版中的一个错误。

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

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

有一个关于这个的论坛讨论here

实际问题正在这里处理 Unity 问题跟踪器票证

更新:

当前的 Visual Studio 代码编辑器包版本 1.2.1 没有此错误。


Dam*_*ica 5

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

<Reference Include="UnityEngine.UI">
<HintPath>Library/ScriptAssemblies/UnityEngine.UI.dll</HintPath>
</Reference>
Run Code Online (Sandbox Code Playgroud)