Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/272.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# system.io.file';不包含Unity中webplayer上readalltext的定义_C#_Unity3d - Fatal编程技术网

C# system.io.file';不包含Unity中webplayer上readalltext的定义

C# system.io.file';不包含Unity中webplayer上readalltext的定义,c#,unity3d,C#,Unity3d,如果我将平台切换到web player,我会得到错误system.io.file'不包含readAllTex的定义,此方法不起作用,但如果我将平台目标切换到pc,它会起作用 string readPath(){ string filepath = "wsPath.txt"; string wspath=Environment.NewLine; if (File.Exists(filepath)) wspath = File.ReadAllText(fi

如果我将平台切换到web player,我会得到错误
system.io.file'不包含readAllTex的定义,此方法不起作用,但如果我将平台目标切换到pc,它会起作用

string readPath(){
    string filepath = "wsPath.txt";
    string wspath=Environment.NewLine;

    if (File.Exists(filepath))
         wspath = File.ReadAllText(filepath);

    return wspath;
}

这是由于webplayer的沙箱安全性,它有一定的限制,以防止unity应用程序通过浏览器执行恶意代码

Unity的文档包括一个页面,解释了这一点:

其中包括以下限制的简要说明:

  • 访问托管域以外的域上的数据的限制 您的.unity3d文件
  • 对套接字使用的一些限制
  • 不允许调用我们认为不受限制的任何方法。(事情
    例如File.Delete等)
  • 不允许使用System.Reflection.*调用private/internal 类中的方法,而不是您自己编写的
简而言之,您不能使用System.IO命名空间直接访问文件系统。这已被Unity故意禁用

最佳做法是使用PlayerPrefs,或通过远程web服务加载/保存数据。这里有一个关于这个主题的讨论:


你能解释一下“不起作用”是什么意思吗这个方法没有被调用吗?是否调用了该方法但没有执行任何操作?这种方法有什么不起作用的地方吗?你真的调试过你的游戏吗?错误名称在标题上