版本:Unity 6 (6000.0)
语言:英语
创建程序集资源
有条件地包含程序集

引用程序集

任何包含依赖于其他程序集中的类型的类型(如类或结构体)的程序集都必须引用其他程序集。您可以在 Inspector 窗口中配置程序集定义属性来控制程序集之间的引用。有关更多信息,请参阅 程序集定义属性参考

自动引用

默认情况下,预定义程序集引用所有其他程序集,包括使用程序集定义 (1) 创建的程序集和作为插件 (2) 添加到项目的预编译程序集。您使用程序集定义资源创建的自定义程序集会自动引用所有预编译程序集 (3)

在默认设置中,预定义程序集中的类可以使用项目中任何其他程序集定义的所有类型。同样,您使用程序集定义资源创建的程序集可以使用任何预编译(插件)程序集中定义的所有类型。

关闭自动引用

要阻止自定义程序集被预定义程序集自动引用,请在 Inspector 中取消选中程序集定义的 自动引用 属性。这意味着当您更改程序集中的代码时,预定义程序集不会重新编译,但也意味着预定义程序集无法直接使用此程序集中的代码。

要阻止插件程序集被预定义程序集或自定义程序集自动引用,请在 插件 Inspector 中取消选中插件资源的 自动引用 属性。您仍然可以从自定义程序集中显式引用 插件在 Unity 之外创建的一组代码,用于在 Unity 中创建功能。您可以在 Unity 中使用两种类型的插件:托管插件(使用 Visual Studio 等工具创建的托管 .NET 程序集)和原生插件(特定于平台的原生代码库)。 更多信息
词汇表 中查看
,请参阅 引用预编译插件程序集

引用规则和限制

Unity 不允许以下类型的引用

  • 使用程序集定义创建的自定义程序集到预定义程序集的引用。
  • 预定义程序集的显式引用。预定义程序集只能使用自动引用程序集中的代码。
  • 循环引用,即两个程序集相互引用。如果您遇到循环引用错误,您必须重构代码以删除循环引用或将相互引用的类放在同一个程序集中。

添加对其他程序集的引用

要使用来自其他程序集的代码,您必须在程序集定义资源中添加对其他程序集的引用。

添加对其他程序集的引用

  1. 选择需要引用的程序集的程序集定义,以在 Inspector一个 Unity 窗口,用于显示有关当前选定游戏对象、资源或项目设置的信息,允许您检查和编辑值。 更多信息
    词汇表 中查看
    中查看其属性。

  2. 程序集定义引用 部分,单击 + 按钮添加新的引用。

  3. 将程序集定义资源分配给引用列表中新创建的插槽。

启用 使用 GUID 选项允许您更改引用程序集定义资源的文件名,而无需更新其他程序集定义中的引用以反映新名称。

注意:如果资源文件的元数据文件被删除,或者您将文件移出 Unity 编辑器而没有同时移动元数据文件,则必须重置 GUID。

添加对预编译插件程序集的引用

默认情况下,您使用程序集定义创建的所有自定义程序集会自动引用所有预编译程序集。这意味着当您更新任何一个预编译程序集时,Unity 会重新编译所有程序集,即使程序集中的代码没有使用。

为了避免这种额外的开销,您可以覆盖自动引用,并仅指定程序集实际使用的预编译库的引用

  1. 选择需要引用的程序集的程序集定义,以在 Inspector 中查看其属性。

  2. 常规 部分,启用 覆盖引用 选项。

    当选中 覆盖引用 时,Inspector程序集引用 部分将变得可用。

  3. 程序集引用 部分,单击 + 按钮添加新的引用。

  4. 使用空插槽中的下拉列表将引用分配给预编译程序集。该列表显示了 构建配置文件 中当前活动平台项目中的所有预编译程序集。(在 [插件 Inspector] 中设置预编译程序集的平台兼容性。)

  5. 单击 应用

  6. 为构建项目的每个平台重复此操作。

其他资源

创建程序集资源
有条件地包含程序集