包含此页的版本:
不含此页的版本:
您可以为程序集定义其他元数据,并检索有关项目生成中包含的程序集的信息。
可以使用程序集属性来设置程序集的元数据属性。按照惯例,程序集属性语句通常放在名为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 为项目生成的所有程序集的信息,包括基于程序集定义资产创建的程序集。
例如,以下脚本使用CompilationPipelineclass 列出项目中的所有当前 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);
}
}
}