【Unity3D】游戏无法部署到windows phone8手机上的解决方法 764424567

今天搞了个unity3d游戏,准备部署到自己的lumia 920上,数据线连接正常,操作正常,但是“build”以后,始终无法部署到手机上,也没有在选择的目录下生产任何相关文件。(你的系统必须是win8)

但是提示有一个错误:

 Error building Player: Exception: Error: method `System.Byte[] System.IO.File::ReadAllBytes(System.String)` doesn't exist in target framework. It is referenced from Assembly-CSharp.dll at System.Byte[] NGUITools::Load(System.String).

 

意思是NGUITools.cs里面的Load()方法有问题,导致无法部署。

解决方案:找到NGUITools.cs,找到Load()方法。代码如下:

?

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

    /// <summary>

    /// Load all binary data from the specified file.

    /// </summary>

 

    staticpublicbyte[] Load (stringfileName)

    {

#if UNITY_WEBPLAYER || UNITY_FLASH

        returnnull;

#else

        if(!NGUITools.fileAccess) returnnull;

 

        stringpath = Application.persistentDataPath + "/"+ fileName;

 

        if(File.Exists(path))

        {

            returnFile.ReadAllBytes(path);

        }

        returnnull;

#endif

    }

  只要在#if UNITY_WEBPLAYER || UNITY_FLASH后面加个“UNITY_WP8”就可以了。

完整代码:

?

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

    /// <summary>

    /// Load all binary data from the specified file.

    /// </summary>

 

    staticpublicbyte[] Load (stringfileName)

    {

#if UNITY_WEBPLAYER || UNITY_FLASH||UNITY_WP8

        returnnull;

#else

        if(!NGUITools.fileAccess) returnnull;

 

        stringpath = Application.persistentDataPath + "/"+ fileName;

 

        if(File.Exists(path))

        {

            returnFile.ReadAllBytes(path);

        }

        returnnull;

#endif

    }

  之后,按照部署步骤,Build以后就可以看到游戏安装到手机上了。

 

参考资料:

http://www.tasharen.com/forum/index.php?topic=6625.0

unity3d部署到wp手机:

http://game.ceeger.com/Manual/wp8-deployment.html

 

764424567wechat 764424567qq 764424567alipay