在新建工程中只导入了QFramework,Build WebGL(空场景) 会看到如下错误:
Exception: Non-Public Constructor() not found! in QFramework.SafeObjectPool`1[QFramework.DelayAction]
at QFramework.SingletonCreator.CreateNonPublicConstructorObject[T] () [0x00000] in <00000000000000000000000000000000>:0
但但但是项目中需要开启它,这时候要在相关的类加上[UnityEngine.Scripting.Preserve]
告诉编辑器本大爷罩着这个类,你不许剔除它哦!
当然不需要把所有的脚本都加上,但又不想一个一个加怎么办呢?
.建个空工程导入QFramework包
.Project中搜索Example全选删除。(APIExampleCodeAttribute
不要删)
.打开脚本搜索public class
,替换:[UnityEngine.Scripting.Preserve] public class
。 (注意class后带一个空格)
.替换后有些类还有问题比如带seale、abstract的,按类似的方法改就行了。
在vs中使用查找替换功能:Ctrl + F ,可以实现快速替换。
添加Preserve后打包并没增加多少,可以忽略不计。
下载