首页 > 解决方案 > Xamarin - 使用 PCLStorage 镜像时 IO 操作失败

问题描述

所以我试图访问 Xamarin Forms 项目上的文件系统,我使用了几个项目,包括:

标准存储

随处存储

XamFileStorageNet 标准

都是 PCL Storage 的 Net Standard 镜像,无需更改代码。

我可以从我的 Forms 项目中获取当前文件系统并获取本地存储的根文件夹,响应类似于:

"/data/user/0/com.companyname.APPNAME/files"

当我尝试在此路径上执行任何操作时,EG:

await FileUtility.RootFolder.CreateFolderAsync("test", CreationCollisionOption.FailIfExists);
await FileUtility.RootFolder.GetFoldersAsync();
await FileUtility.RootFolder.CreateFileAsync("test.txt", CreationCollisionOption.FailIfExists);

所有操作都只是阻塞并且永不返回,在 OnePlus 6T 上进行了测试。

有谁知道这个的解决方案?

提前致谢。

更新:澄清在平台特定项目中也根据需要引用了这些库。

标签: c#xamarinxamarin.formsxamarin.android.net-standard

解决方案


对于以后遇到问题的人,只需使用 System.IO 来处理文件,显然它可以工作。

Environment.SpecialFolder.LocalApplicationData

使用它来访问您的应用程序的本地存储。


推荐阅读