Version: 6000.3
语言: 中文
创建程序集资产
有条件地包括程序集

引用程序集

任何包含依赖于另一个程序集中类型的类型(例如类或结构)的程序集都必须具有对另一个程序集的引用。您可以通过在“检查器”窗口中配置程序集定义属性来控制程序集之间的引用。有关详细信息,请参阅程序集定义属性参考

自动引用

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

装配定义的默认引用,用装配类型之间的方向连接线进行说明。两个单独的连接器源自预定义的装配;一个连接到自定义装配,另一个用于预编译的装配。另一个连接器从自定义装配转到预编译的装配。
装配定义的默认引用,用装配类型之间的方向连接线进行说明。两个单独的连接器源自预定义的装配;一个连接到自定义装配,另一个用于预编译的装配。另一个连接器从自定义装配转到预编译的装配。

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

关闭自动引用

若要防止预定义程序集自动引用自定义程序集,请在检查器中取消选择程序集定义的“自动引用”属性。这意味着当您更改程序集中的代码时,预定义程序集不会重新编译,但也意味着预定义程序集不能直接使用此程序集中的代码。

要防止插件程序集被预定义或自定义程序集自动引用,请在插件检查器中取消选择插件资产的 自动引用(Auto Referenced) 属性。你仍然可以添加对插件在 Unity 外部创建的一组代码,用于在 Unity 中创建功能。可以在 Unity 中使用两种插件:托管插件(使用 Visual Studio 等工具创建的托管 .NET 程序集)和本机插件(特定于平台的本机代码库)。详细信息
请参阅术语表
在自定义程序集中,请参阅引用预编译的插件程序集

引用规则和限制

Unity 不允许以下类型的引用:

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

添加对另一个装配的引用

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

要添加对另一个装配的引用:

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

  2. “装配定义参考”(Assembly Definition References) 部分中,单击 + 按钮以添加新参考。

    “检查器”窗口显示装配定义引用的可配置列表。
    “检查器”窗口显示装配定义引用的可配置列表。
  3. 将 装配体定义(Assembly Definition) 资源分配给引用列表中新创建的插槽。

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

注意:如果删除了资产文件的元数据文件,或者将文件移动到 Unity 编辑器之外,但未同时移动元数据文件,则必须重置 GUID。

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

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

若要避免此额外开销,可以重写自动引用,并仅指定对程序集实际使用的预编译库的引用:

  1. 为需要引用才能在检查器中查看其属性的装配选择装配定义。

  2. 在 常规(General) 分段中,启用 覆盖引用(Override References) 选项。

    “检查器”窗口显示装配定义属性的“常规”部分,并选中了“自动引用”和“覆盖引用”复选框。
    “检查器”窗口显示装配定义属性的“常规”部分,并选中了“自动引用”和“覆盖引用”复选框。

    选中“覆盖引用”后,检查器的程序集引用”部分将变为可用。

  3. “装配参考”(Assembly References) 部分中,单击 + 按钮以添加新参考。

  4. 使用空槽中的下拉列表将引用分配给预编译程序集。该列表显示项目中当前活动平台的所有预编译程序集构建配置文件目标平台创建构建时使用的一组可自定义配置设置。更多信息
    请参阅术语表
    .(在 [插件检查器] 中设置预编译程序集的平台兼容性。

    “装配参考”(Assembly References) 下拉菜单显示当前可用的预编译装配列表。
    “装配参考”(Assembly References) 下拉菜单显示当前可用的预编译装配列表。
  5. 单击应用

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

其他资源

创建程序集资产
有条件地包括程序集