File.Exists(文件路径);在控制台应用程序中完美运行,但是当我在 uwp 中做同样的事情时,它没有检测到文件。
我尝试在各种方法上设置断点,并介入任何可以给我一些有关该问题的信息的方法,但无论我尝试什么,我都没有得到任何信息。
来自 UWP 应用的代码:
string path = @"C:\Users\Name\Desktop\image.jpg";
if (File.Exists(path))
{
ProcessFile(path);
}
else if (Directory.Exists(path))
{
ProcessDirectory(path);
}
UWP: 当它访问 File.Exists 时,我得到一个 false 的返回值,是的,我确实知道图像就在它所在的位置。
控制台: 当它到达 File.Exists 时,我得到一个 true 的返回值,然后毫无问题地转到被调用的方法。
我期望我的代码找到一个文件并将文件路径传递到我名为“processFile”的方法中。
UWP 应用程序是否无法访问其 LocalStorage 之外的文件,还是我没有看到的另一个问题?
最佳答案
UWP 无法直接访问应用程序文件夹和应用程序数据文件夹之外的文件。这是仅有的两个可通过 System.IO
API 访问的位置。
如果启用适当的功能,例如访问库或broadFileSystemAccess
或使用文件/文件夹选择器,您可以使用 StorageFile
API 访问更多位置。特别是,broadFileSystemAccess
允许您访问整个文件系统,但您的应用应该有充分的理由这样做(否则它不会通过 Microsoft Store 认证过程)。
有关详细信息,请参阅 Docs .
关于c# - File.Exists 在 UWP 项目中不起作用吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56111084/