Version: 2020.3

AlwaysLinkAssemblyAttribute

class in UnityEngine.Scripting

切换到手册

描述

确保在托管代码剥离期间始终处理程序集。

使用 [程序集:UnityEngine.Scripting.AlwaysLinkAssembly] 属性可强制 UnityLinker 处理程序集(无论程序集是否被构建中包含的另一个程序集引用)。

在包含一个或多个方法的包或预编译程序集上将此属性与 [RuntimeInitializeOnLoadMethod] 属性结合使用,但后者可能不包含在为项目构建的任何场景中直接或间接使用的类型。

请注意,此属性仅指示 UnityLinker 处理程序集。如果没有代码元素与程序集的根标记规则匹配,UnityLinker 仍会从构建中删除程序集。

只能在程序集上定义 [AlwaysLinkAssembly] 属性。在任何编译到程序集的 C# 文件中声明该属性,在命名空间声明之外进行。

另请参阅:Managed Code Stripping

using UnityEngine;
using UnityEngine.Scripting;

[assembly: AlwaysLinkAssembly]

namespace Example { public class Foo { [RuntimeInitializeOnLoadMethod] public void Initialize() {} } }