Ссылки на сборки
Любая сборка, содержащая типы (например, классы или структуры), которые зависят от типов в другой сборке, должна иметь ссылку на другую сборку. Ссылки между сборками можно управлять, настроив свойства Определение сборки в окне Inspector. Дополнительные сведения см. в разделе Определение сборки Inspector ссылка на окно.
Автоматические ссылки
По умолчанию, предопределенные сборки ссылки на все другие сборки, включая те, которые созданы с помощью определений сборок (1) и предкомпилированные сборки, добавленные в проект в качестве плагинов (2). Пользовательские сборки, созданные с помощью ассета определения сборки, автоматически ссылаются на все предкомпилированные сборки (3):
В настройке по умолчанию классы в предопределенных сборках могут использовать все типы, определенные любыми другими сборками в проекте. Аналогичным образом сборки, созданные с помощью ассета определения сборки, могут использовать все типы, определенные в любых предкомпилированных (плагинных) сборках.
Отключить автоматические ссылки
Чтобы предотвратить автоматическую ссылку на пользовательскую сборку предопределенными сборками, снимите флажок Определение сборки Автоссылка имущество в 2000 году Inspector. Это означает, что предопределенные сборки не перекомпилируют при изменении кода в сборке, но также означает, что предопределенные сборки не могут использовать код в этой сборке напрямую.
Чтобы предотвратить автоматическую ссылку на сборку плагина предопределенными или пользовательскими сборками, снимите флажок Auto Referenced в свойстве Плагин Inspector для ассета плагина. Вы все равно можете добавить явную ссылку на плагин из пользовательской сборки: дополнительные сведения см. в Ссылка на предкомпилированную сборку плагина.
Правила и ограничения ссылки
Unity не допускает следующие типы ссылок:
- Ссылки из пользовательских сборок, созданных с помощью определения сборки, на предопределенные сборки.
- Явные ссылки из предопределенных сборок. Предопределенные сборки могут использовать код только в сборках с автоматическими ссылками.
- Циклические ссылки, когда два сборки ссылаются друг на друга. Если вы столкнулись с ошибкой циклической ссылки, вам необходимо перефакторизовать код, чтобы удалить циклическую ссылку или поместить взаимно ссылаемые классы в одном сборке.
Добавление ссылки на другую сборку
Чтобы использовать код из другой сборки, необходимо добавить ссылку на другую сборку в ресурсе Определение сборки.
Чтобы добавить ссылку на другую сборку:
- Выберите Определение сборки для сборки, которая требует ссылки для просмотра ее свойств в Inspector.
- В разделе Ссылки на определения сборки нажмите кнопку +, чтобы добавить новую ссылку.
- Назначьте ресурс Определение сборки в новое созданное пространство в списке справочных материалов.
Включение параметра Использовать GUIDs позволяет изменить имя файла ассета определения сборки, на который сделана ссылка, без обновления ссылок в других определениях сборки для отражения нового имени.
Примечание: GUIDs необходимо сбросить, если файлы метаданных для файлов ассетов удаляются или вы перемещаете файлы за пределы Unity Editor без перемещения файлов метаданных вместе с ними.
Добавление ссылки на предварительно скомпилированную сборку плагина
По умолчанию все пользовательские сборки, созданные с помощью определений сборок, автоматически ссылаются на все предкомпилированные сборки. Это означает, что Unity перекомпилирует все ваши сборки при обновлении любой из предкомпилированных сборок, даже если код в сборке не используется.
Чтобы избежать этих дополнительных затрат, можно переопределить автоматические ссылки и указать ссылки только на те предварительно скомпилированные библиотеки, которые сборка действительно использует:
- Выберите Определение сборки для сборки, которая требует ссылки для просмотра ее свойств в Inspector.
- В разделе Общие параметры включите параметр Переопределить ссылки, чтобы сделать видимым раздел Ссылки сборки.
- В разделе Ссылки сборки нажмите кнопку +, чтобы добавить новую ссылку.
- Используйте выпадающий список в пустом слоте для назначения ссылки на предкомпилированную сборку. В списке отображаются все предкомпилированные сборки в проекте для текущей активной платформы в Создание профилей. Установить совместимость платформы для предварительно скомпилированной сборки в Плагин Inspector.
- Нажмите Применить.
- Повторите для каждой платформы, для которой вы создаете свой проект.