Unity 6.3
0 онлайн 38 гостей 3 в системе
Вход

Unity Ссылка на правила маркировки линкера

Выполняя статический анализ, Unity linker следует набору правил, определяя, какие части байт-кода CIL пометить как необходимые для сборки:

Настроенный управляемый уровень удаления изменяет набор правил, используемых линкером Unity. В следующих разделах описываются правила маркировки на каждом управляемом уровне удаления.

Правила корневой маркировки

В следующей таблице описано, как линкер Unity идентифицирует типы верхнего уровня в сборке для различных типов сборки и управляемых уровней удаления.

Тип сборки Правила корневой маркировки на управляемых уровнях стриптинга
.NET Класс и платформа SDK и UnityEngine Сборки Минимальная и Низкий:
  • Консервация в целях предосторожности
Минимальная, Низкий, Средний и Высокая:
  • Сохранения, определенные в любом файле link.xml
Сборки с типами, указанными в сцене Минимальная и Низкий:
  • Все типы и элементы в сборке
Средний и Высокая:
  • Все методы, имеющие атрибут [RuntimeInitializeOnLoadMethod] или [Preserve].
  • Сохранения, определенные в любом файле link.xml
  • Все типы, полученные из MonoBehaviour и ScriptableObject в предкомпилированных, пакетных, Unity скриптах или сборках определения сборки.
Все прочие Минимальная:
  • Все типы и элементы в сборке
Низкий и Средний:
  • Все открытые типы и открытые члены этих типов
Средний и Высокая:
  • Все методы, имеющие атрибут [RuntimeInitializeOnLoadMethod] или [Preserve].
  • Сохранения, определенные в любом файле link.xml
  • Все типы, полученные из MonoBehaviour и ScriptableObject в предкомпилированных, пакетных, Unity скриптах или сборках определения сборки.
Тест Минимальная, Низкий, Средний и Высокая:
  • Любые методы с атрибутом [UnityTest] и любые методы, аннотированные атрибутом, определенным в NUnit.Framework.

Правила маркировки зависимостей

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

Целевой параметр правила Правила маркировки зависимостей на управляемых уровнях удаления
MonoBehaviour Минимальная, Низкий, Средний и Высокая:
  • Линкер Unity помечает все члены типа MonoBehavior, когда он помечает тип
ScriptableObject Минимальная, Низкий, Средний и Высокая:
  • Линкер Unity помечает все члены типа ScriptableObject, когда он помечает тип
Атрибуты Минимальная и Низкий:
  • Когда линкер Unity помечает сборку, тип или другую структуру кода, он также помечает все атрибуты этих структур.
Средний и Высокая:
  • Когда линкер Unity помечает сборку, тип или другую структуру кода, он помечает атрибуты этих структур только в том случае, если также помечен тип атрибута.
Атрибуты отладки Минимальная и Низкий:
  • Когда отладка скриптов включена, линкер Unity помечает все члены, имеющие атрибут [DebuggerDisplay], даже если не существует пути кода, использующего эти члены.
Средний и Высокая:
  • Линкер Unity всегда удаляет отладочные атрибуты, такие как DebuggerDisplayAttribute и DebuggerTypeProxyAttribute.
.NET Библиотека классов фасада Минимальная, Низкий, Средний и Высокая:
  • Удаляет сборки фасада, так как они не нужны во время выполнения.

Дополнительные ресурсы