Windows 普遍应用。访问路径被拒绝

Windows universal application. Access to the path is denied

我正在构建我的第一个 windows 通用应用程序。

我正在尝试访问文件,但收到此错误:

Additional information: Access to the path 'C:\database\reservation.txt' is denied.

代码:

 await Task.Run(() =>
                {
                    string path = @"C:\database\reservation.txt";
                    string json = File.ReadAllText(path);
                    dynamic result = JsonConvert.DeserializeObject(json);

                    var urls = new List<string>();

                    foreach (var file in result.version.files)
                    {
                        urls.Add(file.url);
                    }
                });

我该如何解决这个问题?

我已经尝试将所有功能设置为 true。但那是行不通的。

您无法像在 Windows 商店应用中那样访问所有文件。请查看 this MSDN page 以获取允许您的应用使用的位置列表。此外,要使用它们中的大部分,您必须声明合适的 Capabilities。如果您的文件在此列表之外 and/or 您还没有声明功能,您将得到 UnauthorizedException.

一般而言,商店应用不应在用户不知情的情况下访问文件 - 这是设计使然。如果您以后想访问文件,您可以选择带有 FileOpenPicker and then access it by FutureAccessListMostRecentlyUsed.

的文件