Unity5打包Assetbundle 出错 `System.IO.File' does not contain a definition for `ReadAllBytes'

之前有在Unity5中简单使用Assetbundle的方法介绍

http://blog.csdn.net/huutu/article/details/46477471

然而今天在测试的时候,发现在 打包 Assetbundle的时候居然出错了,提示函数不包含

`System.IO.File' does not contain a definition for `ReadAllBytes'

在官方论坛找到一些相关的信息都提到 webplayer 平台是不能使用这个函数的,但是我的playersetting中设置的是 Win,应该不存在问题。


回过头再去看自己的打包 Assetbundle的代码发现,代码里面没有设置打包的目标平台,那Unity是怎么知道我要打包哪个平台的,总不能所有的平台都打包吧?


再去查 Unity3d  的API,才发现

BuildPipeline.BuildAssetBundles(Application.dataPath + "/../Assetbundle", BuildAssetBundleOptions.UncompressedAssetBundle);

这个函数其实是需要指定打包平台的,如果没有指定,就会使用默认的参数值  BuildTarget.WebPlayer !!



原来问题出在了这里,赶紧再手动指定目标平台参数。

    [MenuItem("BuildAssetbundle/BuildAndroid_ALL")]
    static void Build()
    {
        BuildPipeline.BuildAssetBundles(Application.dataPath + "/../Assetbundle", BuildAssetBundleOptions.UncompressedAssetBundle,BuildTarget.Android);
    }

测试 OK。


你可能感兴趣的:(unity3d)