3

我正在使用 Windows 8 开发人员预览版。我希望开发一个读取 XML 文件的应用程序。是否可以?当我尝试使用XDocument.Load(string uri)它时,它抛出了一个拒绝访问异常,并且没有FileStream. 我知道 Metro 风格的应用程序是基于 Silverlight 的,它无法访问文件系统,但它实际上是一个桌面应用程序,所以我不能读取文件吗?有什么解决方法吗?我对silverlight很陌生,所以也许我只是不知道路?

4

2 回答 2

5

在 MSDN上阅读 Ari Polsky 对此问题的回答。

基本上,要访问文件,您需要获得权限。要获得该权限,用户必须通过使用提供的选择器之一选择它所在的文件夹文件来做到这一点。另一种选择是声明您要访问清单中的某个文件夹。但这仅适用于“图书馆”位置。

于 2011-10-09T14:50:15.027 回答
5

每个 Metro 应用程序都是沙盒化的。您需要指定从文档库或可移动存储中读取文件的能力,并在包清单中关联特定类型。或者,您可以使用文件选择器,以便用户专门授予您访问某些文件的权限。

引用使用 Windows 运行时访问用户资源

可移动存储功能提供对可移动存储上的文件的编程访问,例如 USB 密钥和外部硬盘驱动器,过滤到包清单中声明的​​文件类型关联。例如,如果 PDF 阅读器应用声明了 .pdf 文件类型关联,则它可以打开可移动存储设备上的 .pdf 文件,但不能打开其他类型的文件。

声明此功能时应小心,因为用户可能会在其可移动存储设备中包含各种信息,并从应用程序中寻找有效的理由。

或者,如果应用程序不需要完全编程访问,则可以使用文件选择器访问可移动存储设备上的特定文件。

于 2011-10-09T14:50:18.183 回答