Ресурсы определения сборки и ссылки на определение сборки представляют собой файлы JSON. Вы можете редактировать файлы ассетов в редакторе Unity с помощью Инспектораокна Unity, в котором отображается информация о выбранном в данный момент игровом объекте, ассете или настройки проекта, позволяющие просматривать и редактировать значения. Дополнительная информация
См. в окне Словарь, но вы также можете изменить содержимое JSON с помощью внешнего инструмент.
Определение сборки JSON
Определение сборки — это объект JSON со следующими полями:
allowUnsafeCode bool
Необязательно. По умолчанию ложно. См. раздел Разрешить «небезопасный» код.
"allowUnsafeCode" : true
bool с автоматической ссылкой
Необязательно. По умолчанию истинно. См. раздел Автоссылка.
"autoReferenced": false
defineConstraints string[]
Необязательно. Символы, которые служат ограничениями. Может быть пустым. См. раздел Определение ограничений.
"defineConstraints": [
"UNITY_2019",
"UNITY_INCLUDE_TESTS"
]
excludePlatforms строка[]
Необязательно. Исключаемые строки имени платформы или пустой массив. Массив excludePlatforms должен быть пустым, если includePlatforms содержит значения. Вы можете получить строки с названием платформы с помощью функции CompilationPipeline.GetAssemblyDefinitionPlatforms (при вызове этой функции для текущего редактора должна быть установлена поддержка платформы). См. Платформы.
"includePlatforms": [],
"excludePlatforms": [
"iOS",
"macOSStandalone",
"tvOS"
]
includePlatforms строка[]
Необязательно. Строки с названием платформы для включения или пустой массив. Массив includePlatforms должен быть пустым, если excludePlatforms содержит значения. Вы можете получить строки с названием платформы с помощью функции CompilationPipeline.GetAssemblyDefinitionPlatforms (при вызове этой функции для текущего редактора должна быть установлена поддержка платформы). См. Платформы.
"includePlatforms": [
"Android",
"LinuxStandalone64",
"WebGL"
],
"excludePlatforms": []
строка имени
Обязательно. Любое допустимое имя сборки.
"name" : "MyAssemblyName"
noEngineReferences bool
Необязательно. По умолчанию ложно. См. раздел Нет ссылок на движок.
"noEngineReferences": false
необязательная строка UnityReferences[]
Необязательно. В более ранних версиях Unity это поле сериализовало параметр Ссылки Unity: тестовые сборки, используемый для обозначения сборки как тестовой сборки. Начиная с Unity 2019.3 этот параметр больше не отображается. Поле по-прежнему поддерживается, но если ресурс повторно сериализуется в более новой версии редактора Unity, поле заменяется эквивалентными ссылками на сборки.
Дополнительную информацию о тестовых сборках см. в разделе Создание тестовой сборки.
"optionalUnityReferences": [
"TestAssemblies"
]
bool overrideReferences
Необязательно. Установите значение true, если precompiledReferences содержит значения. По умолчанию false.
См. [Переопределить ссылки].
"overrideReferences": true
precompiledReferences string[]
Необязательно. Имена файлов упомянутых библиотек DLL, включая расширение, но без других элементов пути. Может быть пустым. Этот массив игнорируется, если вы не установите для параметра overrideReferences значение true.
См. ссылки на сборку.
"overrideReferences": true,
"precompiledReferences": [
"Newtonsoft.Json.dll",
"nunit.framework.dll"
]
ссылается на строку[]
Необязательно. Ссылки на другие сборки, созданные с помощью ресурсов определения сборки. Вы можете использовать либо GUID файла ресурса определения сборки, либо имя сборки (как указано в поле name определения сборки). Вы должны использовать одну и ту же форму для всех ссылок в списке. Может быть пустым.
Вы можете использовать функцию AssetDatabase.AssetPathToGUID для получения GUID актива. (GUID также является частью метаданных, связанных с каждым ресурсом.)
Обратите внимание, что редактор отображает параметр Использовать идентификаторы GUID в инспекторе определения сборки. Этот параметр не сериализуется в связанном файле JSON. Вместо этого выбор определяется формой ссылки, найденной в файле.
Использование GUID:
"references": [
"GUID:17b36165d09634a48bf5a0e4bb27f4bd",
"GUID:b470eee7144904e59a1064b70fa1b086",
"GUID:2bafac87e7f4b9b418d9448d219b01ab",
"GUID:27619889b8ba8c24980f49ee34dbb44a",
"GUID:0acc523941302664db1f4e527237feb3"
]
Использование имен сборок:
"references": [
"Unity.CollabProxy.Editor",
"AssemblyB",
"UnityEngine.UI",
"UnityEngine.TestRunner",
"UnityEditor.TestRunner"
]
версияОпределяет объект[]
Необязательно. Содержит объект для определения каждой версии. Этот объект имеет три поля:
- name:string — имя ресурса
- выражение:строка – выражение, определяющее версию или диапазон версий ресурса.
- define:string — определяемый символ
См. Определения версий.
"versionDefines": [
{
"name": "com.unity.ide.vscode",
"expression": "[1.7,2.4.1]",
"define": "MY_SYMBOL"
},
{
"name": "com.unity.test-framework",
"expression": "[2.7.2-preview.8]",
"define": "TESTS"
}
]
Пример строки определения сборки в формате JSON
Использование имен сборок для ссылок на другие определения сборок и includePlatforms:
{
"name": "BeeAssembly",
"references": [
"Unity.CollabProxy.Editor",
"AssemblyB",
"UnityEngine.UI",
"UnityEngine.TestRunner",
"UnityEditor.TestRunner"
],
"includePlatforms": [
"Android",
"LinuxStandalone64",
"WebGL"
],
"excludePlatforms": [],
"overrideReferences": true,
"precompiledReferences": [
"Newtonsoft.Json.dll",
"nunit.framework.dll"
],
"autoReferenced": false,
"defineConstraints": [
"UNITY_2019",
"UNITY_INCLUDE_TESTS"
],
"versionDefines": [
{
"name": "com.unity.ide.vscode",
"expression": "[1.7,2.4.1]",
"define": "MY_SYMBOL"
},
{
"name": "com.unity.test-framework",
"expression": "[2.7.2-preview.8]",
"define": "TESTS"
}
],
"noEngineReferences": false
}
Использование GUIDS для ссылок на другие определения сборки и excludePlatforms:
{
"name": "BeeAssembly",
"references": [
"GUID:17b36165d09634a48bf5a0e4bb27f4bd",
"GUID:b470eee7144904e59a1064b70fa1b086",
"GUID:2bafac87e7f4b9b418d9448d219b01ab",
"GUID:27619889b8ba8c24980f49ee34dbb44a",
"GUID:0acc523941302664db1f4e527237feb3"
],
"includePlatforms": [],
"excludePlatforms": [
"iOS",
"macOSStandalone",
"tvOS"
],
"allowUnsafeCode": false,
"overrideReferences": true,
"precompiledReferences": [
"Newtonsoft.Json.dll",
"nunit.framework.dll"
],
"autoReferenced": false,
"defineConstraints": [
"UNITY_2019",
"UNITY_INCLUDE_TESTS"
],
"versionDefines": [
{
"name": "com.unity.ide.vscode",
"expression": "[1.7,2.4.1]",
"define": "MY_SYMBOL"
},
{
"name": "com.unity.test-framework",
"expression": "[2.7.2-preview.8]",
"define": "TESTS"
}
],
"noEngineReferences": false
}
Справочник по определению сборки в формате JSON
Справочник по определению сборки — это объект JSON со следующим полем:
ссылочная строка
Обязательно. Определение сборки для ссылки. См. Справочники по определениям сборки.
Вы можете ссылаться на ресурс определения сборки, используя либо имя сборки, либо GUID актива. Вы можете использовать функцию AssetDatabase.AssetPathToGUID для получения GUID актива. (GUID также является частью метаданных, связанных с каждым ресурсом.)
Используя имя сборки:
{
"reference": "AssemblyA"
}
Using Assembly Definition asset GUID
{
"reference": "GUID:f4de40948f4904ecb94b59dd38aab8a1"
}
См. раздел Создание ресурса-справочника определения сборки.