0

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

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

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

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

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

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

4

1 回答 1

1

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

其次,要从标题存储中访问文件,您不能直接在 WP7 上直接访问根目录。使用此类从标题存储访问文件:

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

该方法返回System.IO.Stream可用于直接访问文件本身的 a。

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

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

于 2013-03-02T03:41:38.337 回答