Не удалось найти имя пространства имен «Cinemachine»

#c# #unity3d #rider #cinemachine

#c# #unity3d #rider #cinemachine

Вопрос:

Это мой код в моем проекте

 using UnityEngine;
using Cinemachine;

public class CameraCollider : MonoBehaviour {

    public void OnTriggerExit(Collider other) {
        Debug.Log("Test");
    }
}
  

Я использую пакет Cinemachine. Это ошибка, которую я получаю:

 AssetsScriptsCameraCollider.cs(2,7): error CS0246: The type or namespace name 'Cinemachine' could not be found (are you missing a using directive or an assembly reference?)
  

До сих пор я пытался

  • Переустановка Rider
  • Удаление файлов Rider в каталоге проекта
  • Удаление файлов .idea

Комментарии:

1. Как вы установили этот пакет? Nuget? Проверьте ссылки в обозревателе решений, убедитесь, что соответствующий файл DLL есть.

2. Попробуйте установить 3-ю версию DLL в папку плагинов

3. У вас есть пакет Cinemachine, установленный через PackageManager ?

Ответ №1:

Перейдите в Windows>> Диспетчер пакетов >> в пакетах (выберите Unit Registry) >> Поиск «Cinemachine» >> Установка и импорт введите описание изображения здесь

Ответ №2:

Это оказалось более простым решением, чем я ожидал. Проблема заключалась в том, что разработчик, с которым я работаю, создал файл сборки, о существовании которого я не знал. Поэтому мне просто пришлось добавить Cinemachine в этот файл сборки в папке scripts.

Ответ №3:

У меня возникла эта проблема после установки Bolt для легкого резервного копирования Unity. Хотя ошибка не препятствовала компиляции скрипта, и все функции функционировали должным образом во время игрового процесса, видеть красную строку в моем коде было неприемлемо.

Исправление, к которому я пришел, заключалось в следующем: в Visual Studio нажмите project и добавьте ссылку. Это откроет диспетчер ссылок. На левой вкладке щелкните Проекты, а затем установите флажок рядом с каждым из элементов, помеченных как «Cinemachine», на данный момент их три. Нажмите кнопку ok.

Результат: Visual Basic распознает пространство имен cinemachine и больше не будет выделять его как ошибку.

Ответ №4:

У меня была такая же проблема. Оказывается, в папке ресурсов есть файл asmdef, который я импортировал из предыдущего проекта. Удаление этого файла решило все для меня.