【发布时间】:2019-01-28 09:54:57
【问题描述】:
我是 UWP 新手,但我已经使用 C#(桌面应用程序等)很长时间了。我最近尝试像往常一样写入 app 目录中的 json 文件,我收到了这条消息:
Access to the path 'C:\...\setting.json' is denied
这是我使用的代码:
File.WriteAllText(Path.Combine(Directory.GetCurrentDirectory(), "setting.json"), JsonConvert.SerializeObject(Settings));
我觉得这很奇怪,所以我做了一些研究。应用程序目录似乎是只读的。我尝试将属性设置为“正常”,仍然是同样的错误。我试过使用 StorageFolder 和 StorageFile,还是一样的信息。有没有办法使文件夹不是只读的?这在 WPF 应用程序中工作得很好......
【问题讨论】:
-
您不应该将文件放在您的应用程序目录中。仅仅因为它在 WPF 中“有效”并不意味着它是正确的。 Storing and retrieving settings 上有一个专为 UWP 开发人员编写的页面。 (另外,假设当前目录是有意义的,通常是一种自责的好方法。在早期启动之外,假设它没有指向任何有用的地方是最安全的)