.NET MAUI Android平台File.Delete无法删除文件求助
.NET MAUI Android平台下File.Delete无法删除AppDataDirectory文件的问题及解决办法
问题场景
开发Android平台的.NET MAUI(.NET 8)应用时,尝试删除FileSystem.AppDataDirectory目录下的文件,使用File.Delete()方法无法成功删除,且没有抛出任何异常。虽然该目录不需要额外写入权限,仍已添加必要权限,且Windows平台下相同代码可正常删除文件。
原代码如下:
string filePath = Path.Combine(FileSystem.AppDataDirectory, "test.jpg"); if (File.Exists(filePath)) { Debug.WriteLine("File Exist!"); try { File.Delete(filePath); } catch (Exception ex) { Debug.WriteLine("Exception!"); } } else { Debug.WriteLine("File not exists!"); } if(File.Exists(filePath)) { Debug.WriteLine("File not deleted!"); } // Output: // File Exist! // File not deleted!
问题定位
经排查,确定这是.NET MAUI(.NET 8)在Android平台上的兼容性问题。
解决方案
改用FileInfo类的Delete()方法即可正常删除文件,代码如下:
var file = new FileInfo(filePath); file.Delete();
内容的提问来源于stack exchange,提问作者modab
相关产品推荐
相关产品推荐

