我有一个使用发布商缓存文件夹的应用。我将一些文件复制到C:\Users\<username>\AppData\Local\Packages\<publisherId>\Folder
的相应目录中,现在我正在尝试UnauthorizedAccessException
查询文件。
这是我添加到appx-manifest中的内容,就在</Package>
之前:
<Extensions>
<Extension Category="windows.publisherCacheFolders">
<PublisherCacheFolders>
<Folder Name="Folder"/>
</PublisherCacheFolders>
</Extension>
</Extensions>
但是,我在以下行收到UnauthorizedAccessException
:
await ApplicationData.Current.GetPublisherCacheFolder("Folder").GetFileAsync(location)
异常详细信息表明异常是从GetFileAsync
抛出的,因为它实际上是由内部Awaiter引发的。我究竟做错了什么?当我上周四编写代码时,一切正常。今天,我想展示它并得到这个例外。 appxmanifest中的声明不应该足够,或者我错过了什么?
编辑:我刚注意到我也无法再写入发布商缓存文件夹了。尝试创建一个新的空文件shared.txt
,我也得到相同的UnauthorizedAccessException
。这可能是发布者证书的问题吗?我正在使用自签名测试证书,我也为用户和本地计算机手动安装。
答案 0 :(得分:0)
最后,我设法让错误信息消失了。但是,解决方案并不好,如果有人有更好的解决方案,我会非常感激。
UnauthorizedAccessException
AccessViolationError
,但是那个没有传递给托管代码,所以一切都很好。