2.3 KiB
2.3 KiB
EditorExtension HybridCLR 模块手册
模块概述
HybridCLR 模块封装热更新 DLL 构建、AOT 补充 DLL 复制、热更 DLL 复制与宏开关。核心入口为 BuildDLLCommand。
适用场景
- 一键编译并拷贝热更新 DLL。
- 启用/关闭
ENABLE_HYBRIDCLR。 - 输出
.dll.bytes供运行时加载。
快速上手
菜单
HybridCLR/Tools/Define Symbols/Disable HybridCLRHybridCLR/Tools/Define Symbols/Enable HybridCLRHybridCLR/Tools/BuildAssets And CopyTo AssemblyTextAssetPath
代码
using UnityEditor;
BuildDLLCommand.Enable();
BuildDLLCommand.BuildAndCopyDlls(EditorUserBuildSettings.activeBuildTarget);
工作流程
- 通过
Enable()/Disable()控制宏与 HybridCLR 设置。 BuildAndCopyDlls()编译热更程序集。CopyAOTHotUpdateDlls()复制 AOT 与 HotUpdate DLL。AssetDatabase.Refresh()刷新资源库。
可调用 API
源码:Packages/com.alicizax.unity.editor.extension/Editor/HybridCLR/BuildDLLCommand.cs
类型:BuildDLLCommand
public static string AssemblyTextAssetPath
- 作用:目标输出目录。
public static void Disable()
- 作用:关闭 HybridCLR 宏与设置。
public static void Enable()
- 作用:启用 HybridCLR 宏与设置。
public static void BuildAndCopyDlls()
- 作用:按当前激活平台编译并复制 DLL。
public static void GenerateAll()
- 作用:执行
PrebuildCommand.GenerateAll()。
public static void BuildAndCopyDlls(BuildTarget target)
- 作用:按指定平台编译并复制 DLL。
public static void CopyAOTHotUpdateDlls(BuildTarget target)
- 作用:统一复制 AOT 与 HotUpdate DLL。
public static void CopyAOTAssembliesToAssetPath()
- 作用:复制 AOT 补充程序集到输出目录。
public static void CopyHotUpdateAssembliesToAssetPath()
- 作用:复制 HotUpdate 程序集到输出目录。
示例
[UnityEditor.MenuItem("Tools/HybridCLR/全部生成")]
public static void BuildAll()
{
BuildDLLCommand.GenerateAll();
BuildDLLCommand.BuildAndCopyDlls(UnityEditor.EditorUserBuildSettings.activeBuildTarget);
}
注意事项
- 依赖 HybridCLR 包和相关生成脚本完整可用。
- AOT 源目录通常需要先执行生成或构建流程后才存在。