Version: 6000.3
语言: 中文
程序集元数据和编译详细信息
装配定义参考属性参考

装配定义属性参考

单击装配定义资产以在检查器一个 Unity 窗口,显示有关当前选定游戏对象、资产或项目设置的信息,允许您检查和编辑值。更多信息
请参阅术语表
窗。

装配定义属性分为以下部分:

名称和一般

“装配定义”导入器“检查器窗口中可配置属性的”名称“和”常规“部分。
“装配定义”导入器“检查器窗口中可配置属性的”名称“和”常规“部分。
财产: 描述:
名字 程序集的名称(不带文件扩展名)。程序集名称在整个项目中必须是唯一的。请考虑使用反向 DNS 命名样式来减少名称冲突的可能性,尤其是在要在多个项目中使用程序集时。

注意:Unity 使用分配给程序集定义资产的名称作为 Name 字段的默认值,但您可以根据需要更改名称。但是,如果按程序集定义的名称而不是其 GUID 引用程序集定义,则更改名称将中断引用。
允许“不安全”代码 启用“允许”不安全“代码选项(如果已使用 C#)unsafe关键字。启用此设置后,Unity 会在编译程序集时将 /unsafe 选项传递给 C# 编译器。
自动参考 指定预定义的装配是否应引用此项目装配。禁用 Auto Reference 选项时,Unity 不会在编译过程中自动引用程序集。这不会影响 Unity 是否将其包含在构建中。
无引擎参考 启用此属性后,Unity 在编译程序集时不会添加对 UnityEditor 或 UnityEngine 的引用。
覆盖引用(Override References) 启用“覆盖引用”设置以手动指定此程序集所依赖的预编译程序集。启用“覆盖引用”时,检查器会显示“程序集引用”部分,您可以使用该部分来指定引用。

预编译程序集是在 Unity 项目外部编译的库。默认情况下,在项目中定义的程序集引用添加到项目的所有预编译程序集,这与预定义程序集引用所有预编译程序集的方式相匹配。启用“覆盖引用”(Override References) 时,此程序集仅引用在“程序集引用”(Assembly References) 下添加的预编译程序集。

: 要防止项目程序集自动引用预编译程序集,可以禁用其“自动引用”选项。有关更多信息,请参阅插件检查器。
根命名空间 的默认命名空间脚本一段代码,允许您创建自己的组件、触发游戏事件、随时间修改组件属性以及以您喜欢的任何方式响应用户输入。更多信息
请参阅术语表
在此装配定义中。如果使用 [Rider] 或 [Visual Studio] 作为代码编辑器,它们会自动将此命名空间添加到在此程序集定义中创建的任何新脚本中。

有关详细信息,请参阅创建装配定义资产

定义约束

在“装配定义”导入器“检查器窗口的”定义约束“部分中配置的预处理器符号列表。
在“装配定义”导入器“检查器窗口的”定义约束“部分中配置的预处理器符号列表。

定义约束指定必须定义的编译器 #define 指令,以便 Unity 编译或引用程序集。

Unity 仅在满足所有 Define Constraints 时编译和引用 Project 程序集。约束的工作方式类似于 C# 中的 #if 预处理器指令,但在程序集级别而不是脚本级别。在 Define Constraints 设置中定义要满足的约束的所有符号。

要指定符号必须是未定义的,请在其前加上否定 !(砰) 符号。例如,如果将以下符号指定为“定义约束”(Define Constraints):

  • !ENABLE_IL2CPP
  • UNITY_2018_3_OR_NEWER

当符号ENABLE_IL2CPP未定义,并且符号UNITY_2018_3_OR_NEWER已定义。结果是 Unity 仅在 Unity 2018.3 或更高版本的非 IL2CPP 脚本运行时上编译和引用此程序集。

您可以使用 ||(OR) 运算符指定必须至少存在一个约束才能满足约束。 例如:

  • UNITY_IOS || UNITY_EDITOR_OSX
  • UNITY_2019_3_OR_NEWER
  • !UNITY_ANDROID

满足约束条件UNITY_IOSUNITY_EDITOR_OSXUNITY_2019_3_OR_NEWER定义和UNITY_ANDROID未定义。单个行类似于在其中的约束之间执行逻辑 AND 运算。上面的示例相当于:

(UNITY_IOS OR UNITY_EDITOR_OSX) AND (UNITY_2019_3_OR_NEWER) AND (NOT UNITY_ANDROID)

您可以使用 Unity 的任何内置 #define 指令、全局编译器响应 (.rsp) 文件中定义的符号,以及在项目的脚本定义符号播放器设置中定义的任何符号。有关详细信息,请参阅依赖于平台的编译,包括内置符号的列表。

注意:脚本定义符号设置特定于平台。如果使用此设置来定义 Unity 是否应使用程序集,请确保在所有相关平台上定义必要的符号。

有关详细信息,请参阅有条件地包括程序集。

无效或不兼容的约束

Unity 根据当前定义的设置使用指示器标记每个约束(例如,以下三个约束集表示第一个符号当前已定义,而其他两个符号未定义)。由于每个单独的约束必须为 true 才能满足整体约束,因此编辑器将整个 Define Constraints 部分标记为当前不兼容或无效。

在“装配定义”导入器“检查器窗口的”定义约束“部分中标记的无效或不兼容的约束。
在“装配定义”导入器“检查器窗口的”定义约束“部分中标记的无效或不兼容的约束。

为了满足此示例中的约束,您可以将脚本后端Unity 中为脚本提供支持的框架。Unity 支持三种不同的脚本后端,具体取决于目标平台:Mono、.NET 和 IL2CPP。但是,通用 Windows 平台仅支持两个:.NET 和 IL2CPP。更多信息
请参阅术语表
IL2CPPUnity 开发的脚本后端,在为某些平台构建项目时,可以将其用作 Mono 的替代品。更多信息
请参阅术语表
对于第二个约束(在 Player Settings 中),并从第三个约束中删除无效字符。但是,通常重要的是构建项目时如何评估约束,而不是约束在 Unity 编辑器中的显示方式(例如,您可能有一个程序集,您只想包含在使用 IL2CPP 后端的构建中,而不是包含在使用 Mono 后端的其他构建中)。

装配定义参考

“装配定义”导入器“检查器窗口的”装配定义引用“部分中配置的引用列表。
“装配定义”导入器“检查器窗口的”装配定义引用“部分中配置的引用列表。
财产: 描述:
装配定义参考 指定对使用“装配定义”资源创建的其他装配的引用。Unity 使用这些引用来编译程序集,并定义程序集之间的依赖关系
使用 GUID 此设置控制 Unity 如何序列化对其他程序集定义资产的引用。启用此属性后,Unity 会将引用保存为资产的 GUID,而不是程序集定义名称。最好使用 GUID 而不是名称,因为这意味着您可以更改程序集定义资产的名称,而无需更新引用该资产的其他程序集定义文件。

有关详细信息,请参阅创建装配定义资产

装配参考

程序集定义导入器检查器窗口的程序集引用部分,其中包含对 Newtonsoft JSON 和 NUnit 库的配置引用。
程序集定义导入器检查器窗口的程序集引用部分,其中包含对 Newtonsoft JSON 和 NUnit 库的配置引用。

仅当您启用覆盖参考属性(在 [常规] 部分中)时,才会显示“装配参考”部分。使用此区域指定对此程序集所依赖的预编译程序集的任何引用。

有关更多信息,请参阅引用预编译的插件程序集

平台

程序集定义导入器检查器窗口的“平台”部分,其中选择了“任何平台”、“iOS、macOS”和“tvOS 平台”。
程序集定义导入器检查器窗口的“平台”部分,其中选择了“任何平台”、“iOS、macOS”和“tvOS 平台”。

设置程序集的平台兼容性。Unity 仅在包含(或未排除)平台上编译或引用此程序集。

有关详细信息,请参阅创建特定于平台的程序集

版本定义

程序集定义导入程序检查器窗口的“版本定义”部分,其中为特定版本的 Unity 测试框架和 VS Code 包配置了定义。
程序集定义导入程序检查器窗口的“版本定义”部分,其中为特定版本的 Unity 测试框架和 VS Code 包配置了定义。

根据项目中包和模块的版本指定要定义的符号。

财产: 描述:
如果资源 包或模块。
version 是 定义版本或版本范围的表达式。
设置定义 用于定义此项目中何时还存在资源的适用版本的符号。
版本表达式结果 计算为逻辑语句的表达式,其中x是否检查了版本。如果表达式结果显示“无效”,则表达式格式错误。

有关定义这些属性和版本表达式的正确语法的详细信息,请参阅基于项目包定义符号

其他资源

程序集元数据和编译详细信息
装配定义参考属性参考