You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Unity调用jslib中JS函数时提示DllImportAttribute未找到,求解决方案

解决Unity中DllImportAttribute找不到的编译错误

嘿,这个问题其实很常见,核心原因就是你漏了引入DllImportAttribute所在的命名空间!它属于System.Runtime.InteropServices,Unity默认已经包含了对应的程序集,但必须显式添加using指令才能使用这个特性。

修改后的完整C#代码

using UnityEngine;
// 关键:添加这个命名空间引用
using System.Runtime.InteropServices;

public class Prefab : MonoBehaviour {
    private string test = "test";
    
    [DllImport("__Internal")]
    private static extern void SendToJavascript(string test);

    void Start() {
        // 额外提醒:编辑器非WebGL环境下调用会报错,建议加平台判断
        #if UNITY_WEBGL && !UNITY_EDITOR
            SendToJavascript(this.test);
        #endif
    }
}

额外注意事项

  • 确保你的.jslib文件放在Assets/Plugins/WebGL文件夹下(而非直接在Assets/Plugins),Unity仅在WebGL平台下识别这个路径的jslib文件
  • 必须将Unity的目标平台切换为WebGL,否则__Internal标识不会生效,还可能引发其他错误
  • 如果需要在编辑器中测试逻辑,可以在#else分支里添加编辑器专属的替代代码,避免运行报错

内容的提问来源于stack exchange,提问作者honey_cake

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.14 08:16:50