File.Exists 在 UWP 项目中不起作用吗?

Ale*_*uun 2 c# uwp

File.Exists(filePath); 在控制台应用程序中完美运行,但是当我在 uwp 中做同样的事情时,它没有检测到文件。

我试图在各种方法上设置断点,并尝试任何可以为我提供有关该问题的信息的方法,但无论我尝试什么,我都没有得到任何信息。

来自 UWP 应用的代码:

            string path = @"C:\Users\Name\Desktop\image.jpg";

                if (File.Exists(path))
                {
                    ProcessFile(path);
                }
                else if (Directory.Exists(path))
                {
                    ProcessDirectory(path);
                }
Run Code Online (Sandbox Code Playgroud)

UWP:当它点击 File.Exists 时,我得到一个 false 的返回值,是的,我知道图像就在它所在的位置。

控制台:当它点击 File.Exists 时,我得到一个 true 的返回值,然后转到被调用的方法,没有任何问题。

我期待我的代码找到一个文件并将文件路径传递到我的名为“processFile”的方法中。

UWP 应用程序是否无权访问其 LocalStorage 之外的文件,还是我没有看到的另一个问题?

Mar*_*und 5

UWP 不能直接访问应用程序文件夹和应用程序数据文件夹之外的文件。这是唯一可以通过System.IOAPI访问的两个位置。

StorageFile如果启用适当的功能,您可以使用API 访问更多位置 - 例如访问库broadFileSystemAccess或使用文件/文件夹选择器。特别是,broadFileSystemAccess允许您访问整个文件系统,但您的应用程序应该有充分的理由这样做(否则它将无法通过 Microsoft Store 认证过程)。

有关更多信息,请参阅文档。