Windows phone 8 尝试在Windows Phone 8上创建目录时出现异常

Windows phone 8 尝试在Windows Phone 8上创建目录时出现异常,windows-phone-8,windows-phone-8.1,windows-phone-8-emulator,Windows Phone 8,Windows Phone 8.1,Windows Phone 8 Emulator,当我尝试在我的wp8应用程序中创建目录(即快照)时,我遇到了一个错误,但我不明白为什么在我的模拟器中以及当我将我的应用程序直接从笔记本电脑传输到手机上时,它可以正常工作,但当它来自wp8应用商店时,它会生成以下错误: System.UnauthorizedAccessException: Access to the path 'Snapshots\' is denied. 我不知道这样做是否合适,但无论我在哪里处理文件,我都不需要指定路径,只需要指定一个文件夹,因为我假设它将进入“应用程序路径

当我尝试在我的wp8应用程序中创建目录(即快照)时,我遇到了一个错误,但我不明白为什么在我的模拟器中以及当我将我的应用程序直接从笔记本电脑传输到手机上时,它可以正常工作,但当它来自wp8应用商店时,它会生成以下错误:

System.UnauthorizedAccessException: Access to the path 'Snapshots\' is denied.
我不知道这样做是否合适,但无论我在哪里处理文件,我都不需要指定路径,只需要指定一个文件夹,因为我假设它将进入“应用程序路径”。不是这样吗

2.问题引起的问题:

  • 为什么它与本地应用程序一起工作,而不是从商店下载的应用程序?访问权限不同吗

  • 如果不允许我将文件直接创建到应用程序的文件夹(未提供路径,仅提供文件名,即data.xml)或子文件夹(仅提供子文件夹+文件名,即Snapshots\test.jpg),我应将数据(xml、jpg等)存储在何处


  • 谢谢。

    我发现了一个困难的方法,那就是你不应该尝试直接在wp8应用程序的根文件夹中写入数据,因为它是一个“安装文件夹”。我从微软找到了这篇有趣的文章/pdf。查看第7页,其中清楚地解释了安装和本地文件夹之间的区别

    这个问题最初是想弄清楚为什么我的live tile不会更新,原因有很多,所以虽然与这个问题无关,但我还是会把它们包括进来,因为这可能会对将来的人有所帮助

  • 文件夹创建问题:请参见上文。仍然无法解释为什么当应用程序从pc传输到手机时它会工作,但当它从应用程序商店出来时,它不会工作。关键是我用了错误的方法,您不应该将文件存储在根文件夹中,即使是在子文件夹中,因为它不能在这个位置创建。您应该使用隔离存储或数据存储

  • 文件在StorageFolder(LocalFolder)中存储时仍无法更新活动磁贴。然后,我找到了这两篇文章,其中明确指出,Live Tile使用的图像应存储在单独的存储中,但应存储在特定的位置,即共享\ShellContent

  • 在我应用建议的内容(即使用特定路径和独立存储)的那一刻,它对我的所有问题(即创建文件夹、创建文件等)进行了排序

    请注意,虽然它指出您应该将文件存储在\Shared\ShellContent中,但它也强调了它可以存储在该文件夹中的任何子文件夹中,因此在我的例子中,我得到了\Shared\ShellContent\\Snapshots,并且它可以按预期工作

    同样,如果时间允许,我将进一步研究StorageFolder,因为我希望它能够正常工作,因为这是Microsoft推荐的WP8/WP8.1使用的方法,而且似乎建议对WP7使用隔离存储


    如果您遇到类似问题,我希望这能为您节省一些时间。

    您能在访问文件夹的地方发布代码吗?我刚刚更改了代码,因为我似乎无法写入在安装文件夹中创建的文件夹。一旦我从商店下载了我的应用程序的新副本,我会发布更多详细信息。