Skip to main content

排障

附录。开发期可在 Editor(Mono) 快速迭代;Player 问题先确认 ZTS/Generate/All兼容性。主线学习请从 安装 起。

Canonical 工程:zts-demojs-demo / ts-demo)。


安装与启动

Play 后完全无 JS 输出

检查项说明
TsAppDomain.Initialize[RuntimeInitializeOnLoadMethod(BeforeSceneLoad)] 或更早
loader 返回值LoadJsModule("app") 是否非 null;路径是否指向 JsScripts / out/
Console 过滤器确认未隐藏 Log

module not found / loader 失败

检查项EditorPlayer
纯 JS 路径{ProjectRoot}/JsScripts/xxx.jsStreamingAssets/Js/xxx.js(或约定路径)
TS 路径TsProject/out/xxx.jsStreamingAssets/ZTS/xxx.js
canonical不含 .jsGetFunction("app", …) 不是 "app.js"
Sync / emit可选必须 Sync 或拷贝 emit

类型与成员访问

程序集 / 类型找不到

  • 错误形如 zts: assembly not found / type not found(或等价 Error
  • 检查程序集名 / 别名:CSharp['AC'] = CSharp['Assembly-CSharp']
  • 含 namespace须 CSharp.AC['Ns.Type']import { T } from "csharp:Assembly-CSharp/Ns"
  • TS:是否已 Generate Typings;声明集是否与 Generate 同源

Error('zts: … member not found')(strict miss)

  • 拼写、是否 public、是否在实例上误访静态(或反之)
  • 不要期望未知成员返回 undefined
  • 扩展方法是否已配置到该类型(见 Extension

Event .get / .set 无效

已废弃。改用 add_OnX / remove_OnX,且 remove 时须 同一 function 引用。见 JS 调用 C#

方法 this 丢失

demo.SetX(1); // ✅
const fn = demo.SetX;
fn(1); // ❌ 提取函数不绑定 this

保持 obj.Method(args) 调用形式。


C# 调用 JS

GetFunction 无效

  • 是否已 TsAppDomain.Initialize
  • module / export 是否与 named export 一致(非 export default
  • T 委托签名是否匹配
  • 是否刚 Reset:旧委托已作废,须重新 GetFunction
  • 不要csharp: 模块调用 GetFunction

再次 Initialize 抛异常

已有主 JSContext 时须 TsAppDomain.Reset(loader)不能再次 Initialize「只换 loader」。见 宿主 API


TypeScript / Play 闸门

现象处理
Play 被拦截修复 tsc --noEmit 错误;或 Settings 临时关闸门
csharp: 补全缺失Generate Typings;提交 generated/
运行时仍像旧代码未 emit / out/ 过期;Player 未拷贝 StreamingAssets
import type 后构造失败改为值导入

TypeScript 工作流


JS 调试器

断点不生效、连不上、Play 假死:见 JS 调试器(Host 类型名、端口、WaitForAttach、source map)。


Editor 正常、Player 失败

检查说明
Install本地 Il2Cpp / QuickJS / zts 树是否存在
GenerateIl2Cpp 必须 Generate C++ stub
StreamingAssetsJS / TS emit 是否 Sync
废弃 API勿用 Event .get;方法用点号而非冒号

更多对照见 Editor 与 Player构建


包路径

现象处理
Package 解析失败manifest.jsonfile: / git URL;开发期改路径后刷新 Package Manager
换包后 TS types 失效检查 tsconfig 对包内 ZTS~/types 的引用

学习路径

上一篇JS 调试器
下一篇Editor 与 Player

相关文档