Нажмите на актив определения сборки, чтобы задать свойства сборки в инспектореокне Unity, в котором отображается информация о текущий выбранный игровой объект, актив или настройки проекта, что позволяет вам просматривать и редактировать значения. Дополнительная информация
См. в окне Словарь.
Свойства определения сборки разделены на следующие разделы:
- Имя и общие сведения
- Определение ограничений
- Справочники по определениям сборки
- Справочники по сборке
- Платформы
- Определяет версию
Имя и общее
Свойства: | Описание: |
---|---|
Name | Имя сборки (без расширения файла). Имена сборок должны быть уникальными в проекте. Рассмотрите возможность использования стиля именования с обратным DNS, чтобы уменьшить вероятность конфликтов имен, особенно если вы хотите использовать сборку более чем в одном проекте.
Примечание. Unity использует имя, которое вы назначаете ресурсу определения сборки, в качестве значения по умолчанию для поля «Имя», но при необходимости вы можете изменить это имя. Однако если вы ссылаетесь на определение сборки по его имени, а не по идентификатору GUID, изменение имени приведет к разрыву ссылки. |
Allow ‘unsafe’ Code | Включите параметр Разрешить «небезопасный» код, если вы использовали ключевое слово C# unsafe в скрипте в сборке. Когда вы включаете этот параметр, Unity передает параметр /unsafe компилятору C# при компиляции сборки. |
Auto Referenced | Укажите, должны ли предопределенные сборки ссылаться на эту сборку проекта. Если вы отключите параметр Auto Reference, Unity не будет автоматически ссылаться на сборку во время компиляции. Это не влияет на то, включает ли Unity его в сборку. |
No Engine References | Когда вы включаете это свойство, Unity не добавляет ссылки на UnityEditor или UnityEngine при компиляции сборки. |
Override References | Включите параметр «Переопределить ссылки», чтобы вручную указать, от каких предварительно скомпилированных сборок зависит эта сборка. Когда вы включаете переопределение ссылок, в Инспекторе отображается раздел «Ссылки на сборку», который можно использовать для указания ссылок.
Предварительно скомпилированная сборка — это библиотека, скомпилированная вне вашего проекта Unity. По умолчанию сборки, которые вы определяете в своем проекте, ссылаются на все предварительно скомпилированные сборки, которые вы добавляете в проект, что соответствует тому, как предварительно определенные сборки ссылаются на все предварительно скомпилированные сборки. Когда вы включаете переопределение ссылок, эта сборка ссылается только на предварительно скомпилированные сборки, которые вы добавляете в разделе "Ссылки на сборки". Примечание. Чтобы сборки Project не могли автоматически ссылаться на предварительно скомпилированную сборку, вы можете отключить параметр "Автоссылка". Дополнительную информацию см. в Инспекторе подключаемых модулей. |
Root Namespace | Пространство имен по умолчанию для скриптовЧасть кода, позволяющая создавать собственные компоненты, запускать игровые события, изменять компоненты свойства с течением времени и реагировать на пользовательский ввод любым удобным для вас способом. Подробнее См. в Словарь в этом определении сборки. Если вы используете Rider или Visual Studio в качестве редактора кода автоматически добавляет это пространство имен во все новые сценарии, которые вы создаете. в этом определении сборки. |
Дополнительную информацию см. в разделе Создание ресурса определения сборки.
Определить ограничения
Ограничения Define определяют директивы компилятора #define, которые должны быть определены для Unity, чтобы компилировать сборку или ссылаться на нее.
Unity компилирует и ссылается на сборку Project только в том случае, если все ограничения Define Constraints соблюдены. Ограничения работают так же, как директива препроцессора #if в C#, но на уровне сборки, а не на уровне скрипта. Определите все символы в параметре «Определить ограничения», чтобы ограничения были удовлетворены.
Чтобы указать, что символ не должен быть определен, поставьте перед ним отрицательный знак ! (взрыв) символ. Например, если вы укажете следующие символы в качестве Определить ограничения:
!ENABLE_IL2CPP
UNITY_2018_3_OR_NEWER
Ограничения выполняются, если символ ENABLE_IL2CPP
не определен, а определен символ UNITY_2018_3_OR_NEWER
. В результате Unity компилирует и ссылается на эту сборку только в средах выполнения сценариев без поддержки IL2CPP для Unity 2018.3 или новее.
Вы можете использовать || (ИЛИ) оператор, чтобы указать, что хотя бы одно из ограничений должно присутствовать, чтобы ограничения были удовлетворены. Например:
UNITY_IOS || UNITY_EDITOR_OSX
UNITY_2019_3_OR_NEWER
!UNITY_ANDROID
Ограничения выполняются, когда либо UNITY_IOS
, либо UNITY_EDITOR_OSX
и UNITY_2019_3_OR_NEWER
определены, а UNITY_ANDROID
не определен. Отдельные строки аналогичны выполнению логической операции И между ограничениями в них. Приведенный выше пример эквивалентен:
(UNITY_IOS ИЛИ UNITY_EDITOR_OSX) И (UNITY_2019_3_OR_NEWER) И (НЕ UNITY_ANDROID)
Вы можете использовать любые встроенные директивы Unity #define, символы, определенные в глобальном файле ответа компилятора (.rsp), и любые символы, определенные в настройках Project Scripting Define Symbols Player. Дополнительную информацию, включая список встроенных символов, см. в разделе Компиляция, зависящая от платформы.
Примечание. Настройки символов определения сценариев зависят от платформы. Если вы используете этот параметр, чтобы определить, следует ли Unity использовать сборку, убедитесь, что вы определили необходимые символы на всех соответствующих платформах.
Дополнительную информацию см. в разделе Условное включение сборки.
Недействительные или несовместимые ограничения
Unity помечает каждое ограничение индикатором, основанным на текущих заданных параметрах (например, следующий набор из трех ограничений указывает, что первый символ в настоящее время определен, а два других — нет). Поскольку для выполнения общего ограничения каждое отдельное ограничение должно быть истинным, редактор помечает весь раздел «Определение ограничений» как несовместимый или недопустимый в настоящее время.
Чтобы удовлетворить ограничения в этом примере, вы можете изменить Бэкэнд для сценариевФреймворк, поддерживающий сценарии в Unity. . Unity поддерживает три различных бэкэнда для сценариев в зависимости от целевой платформы: Mono, .NET и IL2CPP. Однако универсальная платформа Windows поддерживает только два: .NET и IL2CPP. Дополнительная информация
См. в Словарь до IL2CPPРазработанный Unity сервер сценариев, который можно использовать в качестве альтернативы Mono при создании проектов для некоторых платформ. Подробнее
См. в Словарь второе ограничение (в Настройки проигрывателя) и удалите недопустимые символы из третьего ограничения. Однако часто имеет значение то, как ограничения оцениваются при сборке проекта, а не то, как ограничения отображаются в редакторе Unity (например, у вас может быть сборка, которую вы хотите включить только в сборки, использующие бэкэнд IL2CPP, но не в других сборках, использующих серверную часть Mono).
Ссылки на определение сборки
Свойства: | Описание: |
---|---|
Assembly Definition References | Укажите ссылки на другие сборки, которые вы создали с помощью ресурсов определения сборки. Unity использует эти ссылки для компиляции сборки, а также для определения зависимостей См. в Словарь между сборками. |
Use GUIDs | Этот параметр управляет тем, как Unity сериализует ссылки на другие активы определения сборки. Когда вы включаете это свойство, Unity сохраняет ссылку как GUID актива, а не имя определения сборки. Рекомендуется использовать GUID вместо имени, потому что это означает, что вы можете вносить изменения в имя актива определения сборки без необходимости обновлять другие файлы определения сборки, которые на него ссылаются. |
For more information, see Creating an Assembly Definition asset
Ссылки на сборки
Раздел "Ссылки на сборку" появляется только при включении свойства Переопределить ссылки (в разделе Общие). Используйте эту область для указания любых ссылок на предварительно скомпилированные сборки, от которых зависит эта сборка.
Дополнительную информацию см. в разделе Ссылка на предварительно скомпилированную сборку подключаемого модуля
Платформы
Установите совместимость платформы сборки. Unity компилирует или ссылается на эту сборку только на включенных (или не исключенных) платформах.
Дополнительную информацию см. в разделе Создание сборки для конкретной платформы
Версия определяет
Укажите, какие символы следует определить в соответствии с версиями пакетов и модулей в проекте.
Свойства: | Описание: |
---|---|
Resource | Пакет или модуль |
Define | Символ, определяющий, когда применимая версия Ресурса также присутствует в этом проекте Unity. |
Expression | Выражение, определяющее версию или диапазон версий. См. Выражения определения версии. |
Expression outcome | Выражение оценивается как логический оператор, где «x» — это проверенная версия. Если в результате Expression указано Invalid, выражение неправильно сформировано. |
Дополнительную информацию см. в разделе Определение символов на основе пакетов проекта