Unity 解决QFramework WebGL报错
- 🥝错误描述
- ☕原因
- 🍤 解决方案
🥝错误描述
在新建工程中只导入了QFramework,Build WebGL(空场景) 会看到如下错误:
Exception: Non-Public Constructor() not found! in QFramework.SafeObjectPool`1[QFramework.DelayAction]
at QFramework.SingletonCreator.CreateNonPublicConstructorObject[T] () [0x00000] in <00000000000000000000000000000000>:0

☕原因
根据QFramework 作者提供的线索:“关闭代码剔除”

🍤 解决方案
但但但是项目中需要开启它,这时候要在相关的类加上[UnityEngine.Scripting.Preserve] 告诉编辑器本大爷罩着这个类,你不许剔除它哦😎!
当然不需要把所有的脚本都加上,但又不想一个一个加怎么办呢?
💡.建个空工程导入QFramework包
💡.Project中搜索Example全选删除。(APIExampleCodeAttribute 不要删)
💡.打开脚本搜索public class ,替换:[UnityEngine.Scripting.Preserve] public class 。 (注意class后带一个空格)
💡.替换后有些类还有问题比如带seale、abstract的,按类似的方法改就行了。
在vs中使用查找替换功能:Ctrl + F ,可以实现快速替换。


添加Preserve后打包并没增加多少,可以忽略不计。

💡下载















![[vue element-ui]JAVA POST请求](https://img-blog.csdnimg.cn/304f835ad2e64a559a73eeb297cd75bb.png)



