Unity: Omnisharp не находит ссылочные проекты в VSCode - PullRequest
2 голосов
/ 08 февраля 2020

Я недавно обновился до Unity 2019.3.0f6. Открыв один из моих файлов c#, я заметил, что UnityEngine.UI не распознается как допустимое пространство имен. Это заставляло меня краснеть, когда я ссылался на это пространство имен. IntelliSense также перестал работать. Эта проблема обнаруживается только в VSCode, мой проект все еще отлично работает в Unity.

Я проверил журналы Omnisharp и обнаружил некоторые ошибки, которые говорят мне, что Omnisharp не может найти файл .csproj UI и пару других.

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

Что могло бы вызвать это?

То, что я уже пробовал:

  • Проверка того, что команда do tnet работает
  • Переустановка плагина c# vscode
  • Удаление файлов .sln и .csproj и позволить Unity восстановить их
  • Переустановка Unity

Ответы [ 3 ]

7 голосов
/ 04 марта 2020

Это ошибка в версии 1.1.4 пакета редактора кода Visual Studio.

Вот шаги, которые я сделал, чтобы решить эту проблему:

  1. Открыть окно> Пакет Manager в Unity Editor
  2. Выберите редактор кода Visual Studio и нажмите «Удалить»
  3. Выберите «Просмотреть все версии» в редакторе кода Visual Studio
  4. Выберите версию 1.1.3 и нажмите «Установить»
  5. Перезапустите VS Code

Здесь есть обсуждение на форуме здесь

И актуальная проблема решается в билете Unity Issue Tracker здесь

2 голосов
/ 19 марта 2020

В проекте root Unity есть файл Assembly-CSharp.csproj. Я добавил это, чтобы исправить ошибку:

<Reference Include="UnityEngine.UI">
<HintPath>Library/ScriptAssemblies/UnityEngine.UI.dll</HintPath>
</Reference>
1 голос
/ 08 февраля 2020

У меня сегодня точно такая же проблема. Ничего не изменилось. Это просто сломалось. Я думаю, что плагин C# в VSCode нуждается в обновлении, но я не уверен. Я довольно новичок в Unity, но, похоже, это так. В то же время я перешел на VS2019, и он, кажется, работает. Но я предпочитаю VSCode, поэтому я тоже ищу решение.

...