Многочисленные ошибки скрипта и пространства имен в ранее работавшем проекте Unity. Тип или имя пространства имен 'GUIColorOverride' не найдено - PullRequest
0 голосов
/ 27 апреля 2020

У меня были некоторые необычные ошибки в относительно небольшом проекте Unity с шестью c# скриптами, написанными в Visual Studio. Все работало нормально, и я вернулся к нему после выходных. После открытия было 18 новых ошибок, которые мешали компиляции кода, и я потратил несколько часов, пытаясь выяснить, что происходит.

Основными ошибками были такие вещи, как Type or namespace name 'GUIColorOverride' could not be found и associated script cannot be loaded, assign a valid script, несмотря на то, что они были связаны, и я мог видеть, что у скриптов не было ошибок в Visual Studio. Я даже полностью удалил и перезагрузил Unity, а затем установил чистую. Это не помогло.

Я пробовал ряд других вещей, таких как резервное копирование сценариев из папки ресурсов и последующее их удаление. Открытие проекта и вставка его обратно в виде «чистых» новых скриптов. Это не сработало. Я использую Unity Cloud Collab, так что даже смог использовать это, чтобы go вернуться к более ранним этапам проекта (который все работал). Нет.

Ответы [ 2 ]

0 голосов
/ 27 апреля 2020

Вы должны исключить их из резервной копии!


По сути, вы можете исключить все, что также будет исключено из git, например, этот "официальный" .gitignore файл для проектов Unity.

Любой файл и папка, перечисленные здесь, будут автоматически регенерированы Unity и не должны появляться в любом контроле версий / резервном копировании.

В частности, вся папка Library является ее частью, поскольку ее содержимое изменяется довольно быстро и перекомпилируется каждый раз, когда вы меняете скрипт, устанавливаете / удаляете пакет и т. Д. c.

Оформить заказ Руководство по Unity - за кулисами для получения более подробной информации

При резервном копировании проекта или добавлении проекта в репозиторий контроля версий необходимо включить основной проект Unity. папка, содержащая папки Assets и ProjectSettings. Вся информация в этих папках имеет решающее значение для работы Unity. Вы должны опустить папки Library и Temp для целей резервного копирования.


Для решения уже существующей проблемы с папкой Library вы можете большинство из Времена исправить это, просто закрыв Unity, удалив всю папку Library через ваш файловый браузер и снова открыв Unity → Unity перестроит Library

0 голосов
/ 27 апреля 2020

Решено! Проблема заключалась в том, что локальная папка Projects, которую я использовал, была подключена к Google Backup и Syn c. Это перепуталось с некоторыми файлами в некоторых папках в PackageCache в частности в каталоге MyProject > Library > PackageCache > com.unity.timeline@1.2.13 > Editor >.

[FIX] Чтобы исправить и предотвратить это в будущем, я отключил Google Backup и Syn c для моего Unity Project (s), и теперь я использую исключительно Unity Collab и Git. Используя указанные c ошибки, которые отображались в консоли Unity, я нашел точный путь к файлам, созданным Unity, которые вызывали эти ошибки в моем поврежденном проекте, и заменил их теми же файлами из рабочего проекта. Это исправило все ошибки. В этих папках должно было быть несколько поврежденных или частично синхронизированных файлов, что вызвало истерику в Unity. Надеюсь, это кому-нибудь поможет!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...