Unity5.5打包报错问题修复

开新项目了,直接使用最新的Unity5.5.0f3版本编辑器进行开发。开发期对UI预设体操作会比较频繁,所以还是按之前老项目的做法,编辑器下加载UI是直接加载预设体。unity4.x下可以直接使用Resources.LoadAssetAtPath进行加载,新版本api则更换为UnityEditor.AssetDatabase.LoadAssetAtPath。当调用BuildPipeline.BuildAssetBundles打包资源时,编辑器产生了错误:

很明显是编辑器调用打包api时对代码进行了编译,编译时没有引用UnityEditor类库导致的报错。比较困惑的是游戏运行时编译代码没有报错,打包居然报错了,初步怀疑是新版编辑器的bug ,毕竟刚放出不久,自己算是小白鼠。使用了旧版5.4.2版本测试了一下结果是正常的,顿时觉得自己就是小白鼠。当时临时的解决办法是打包的时候手动把UnityEditor.AssetDatabase.LoadAssetAtPath加载代码先注释屏蔽,等等看后续的新版本会不会修复这个bug。

等了几天也没有发现unity有出新版本,今天重新思考了一下这个问题。既然是编译时找不到类库,那就限定代码的运行环境,加上#if UNITY_EDITOR_WIN #endif 限定加载代码只在编辑器环境下运行,问题解决了!

你可能感兴趣的:(Unity5.5打包报错问题修复)