【问题标题】:Windows Phone 7 crash when accessing directoryWindows Phone 7 访问目录时崩溃
【发布时间】:2013-02-16 07:00:28
【问题描述】:

我无法使用 C# 在 Windows Phone 7 中获取有关目录的信息。当我调用时,我的应用程序冻结或崩溃:

System.IO.DirectoryInfo dir = new System.IO.DirectoryInfo("Content/Levels");

当我尝试确定应用程序的路径时它也会冻结,所以我认为这就是问题所在。

我可能做错了什么,我能做些什么来解决这个问题?

更新: 似乎这个问题与一个安全问题有关,但我不知道如何解决这个问题。是否有另一种方法可以在没有此问题的情况下找到根目录?

如果有所不同,这些文件将存储在 XNA 内容管道中。

【问题讨论】:

    标签: c# windows-phone-7 file-io io xna


    【解决方案1】:

    要访问实际 xap 中的文件(称为“标题存储”),首先您必须从 XNA 内容管道将其导出为 Content。从您的内容项目中选择文件并在属性下将其Build Action 设置为Content(我相信None 会做同样的事情)。现在,它们将直接原始导出到您的 XAP,并可在您的游戏/应用程序中访问。

    其次,要从标题存储中访问文件,您不能简单地直接访问 WP7 上的根目录。使用this class 访问标题存储中的文件:

    using (StreamReader r = 
    new StreamReader(TitleContainer.OpenStream("Content/Levels/Level1.xml")))
    {
        //read the file
    }
    

    该方法返回一个System.IO.Stream,您可以使用它直接访问文件本身。

    如果您的游戏需要知道特定文件夹中的所有文件,则该平台实际上不允许目录枚举等,因此您必须在编译时预先生成它,这可以使用内容管道:

    http://xbox.create.msdn.com/en-US/sample/contentmanifestextensions

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多