版本:Unity 6 (6000.0)
语言:English
有条件地包含程序集
程序集定义属性参考

程序集元数据和编译细节

您可以为程序集定义其他元数据,并检索有关项目构建中包含的程序集的信息。

设置程序集属性

您可以使用程序集属性来设置程序集的元数据属性。按照惯例,程序集属性语句通常放在名为AssemblyInfo.cs的文件中。

例如,以下程序集属性指定了一些[.NET 程序集元数据值]、一个[InternalsVisibleTo]属性(这对于测试很有用)以及 Unity 定义的Preserve 属性,该属性会影响在构建项目时从程序集中删除未使用的代码的方式。

[assembly: System.Reflection.AssemblyCompany("Bee Corp.")]
[assembly: System.Reflection.AssemblyTitle("Bee's Assembly")]
[assembly: System.Reflection.AssemblyCopyright("Copyright 2020.")]
[assembly: System.Runtime.CompilerServices.InternalsVisibleTo("UnitTestAssembly")]
[assembly: UnityEngine.Scripting.Preserve]

在构建脚本中获取程序集信息

使用CompilationPipeline类检索 Unity 为项目构建的所有程序集的信息,包括基于程序集定义资源创建的程序集。

例如,以下脚本使用CompilationPipeline类列出项目中所有当前的 Player 程序集。

using UnityEditor;
using UnityEditor.Compilation;
public static class AssemblyLister
{
    [MenuItem("Tools/List Player Assemblies in Console")]
    public static void PrintAssemblyNames()
    {
        UnityEngine.Debug.Log("== Player Assemblies ==");
        Assembly[] playerAssemblies =
            CompilationPipeline.GetAssemblies(AssembliesType.Player);

        foreach (var assembly in playerAssemblies)
        {
            UnityEngine.Debug.Log(assembly.name);
        }
    }
}

其他资源

有条件地包含程序集
程序集定义属性参考