文档

Unity Engine

Unity Engine

程序集元数据和编译详细信息

Define metadata for your assemblies.
阅读时间2 分钟最后更新于 1 个月前

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

设置程序集属性

可以使用程序集属性 (Attribute) 为程序集设置元数据属性 (Property)。按照惯例,程序集属性语句通常置于名为
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
类列出项目中的所有当前播放器程序集:
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); } }}

其他资源