程序集定义和程序集定义引用资源都是 JSON 文件。您可以在 Unity 编辑器中使用 检查器一个 Unity 窗口,显示有关当前选定游戏对象、资源或项目设置的信息,允许您检查和编辑值。 更多信息
参见 词汇表 窗口编辑资源文件,但您也可以使用外部工具修改 JSON 内容。
程序集定义是一个 JSON 对象,具有以下字段
可选。默认值为 false。请参阅 允许“不安全”代码.
"allowUnsafeCode" : true
可选。默认值为 true。请参阅 自动引用.
"autoReferenced": false
可选。用作约束的符号。可以为空。请参阅 定义约束.
"defineConstraints": [
"UNITY_2019",
"UNITY_INCLUDE_TESTS"
]
可选。要排除的平台名称字符串或空数组。如果 includePlatforms 包含值,则 excludePlatforms 数组必须为空。您可以使用 CompilationPipeline.GetAssemblyDefinitionPlatforms 函数检索平台名称字符串(调用此函数时,当前编辑器必须安装对平台的支持。)请参阅 平台.
"includePlatforms": [],
"excludePlatforms": [
"iOS",
"macOSStandalone",
"tvOS"
]
可选。要包含的平台名称字符串或空数组。如果 excludePlatforms 包含值,则 includePlatforms 数组必须为空。您可以使用 CompilationPipeline.GetAssemblyDefinitionPlatforms 函数检索平台名称字符串(调用此函数时,当前编辑器必须安装对平台的支持。)请参阅 平台.
"includePlatforms": [
"Android",
"LinuxStandalone64",
"WebGL"
],
"excludePlatforms": []
必需。任何 合法程序集名称.
"name" : "MyAssemblyName"
可选。默认值为 false。请参阅 无引擎引用.
"noEngineReferences": false
可选。在早期版本的 Unity 中,此字段序列化用于将程序集指定为测试程序集的 Unity 引用:测试程序集 选项。从 Unity 2019.3 开始,不再显示该选项。该字段仍然受支持,但如果资源在 Unity 编辑器的较新版本中被重新序列化,则该字段将被等效的程序集引用替换。
有关测试程序集的更多信息,请参阅 创建测试程序集.
"optionalUnityReferences": [
"TestAssemblies"
]
可选。如果 precompiledReferences 包含值,则设置为 true。默认值为 false。
请参阅 [覆盖引用]。
"overrideReferences": true
可选。引用的 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"
]
可选。包含每个版本定义的一个对象。此对象具有三个字段
请参阅 版本定义.
"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"
}
]
对其他程序集定义使用程序集名称作为引用,并使用 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
}
对其他程序集定义使用 GUID 作为引用,并使用 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 对象,具有以下字段
必需。要引用的程序集定义。请参阅 程序集定义引用.
您可以使用程序集的名称或资源的 GUID 来引用程序集定义资源。您可以使用 AssetDatabase.AssetPathToGUID 函数检索资源的 GUID。(GUID 也是与每个资源关联的元数据的一部分。)
使用程序集名称
{
"reference": "AssemblyA"
}
使用程序集定义资源 GUID
{
"reference": "GUID:f4de40948f4904ecb94b59dd38aab8a1"
}
请参阅 创建程序集定义引用资源.