我们有一个 Xamarin 应用程序,正在移植到 .NET MAUI (.net 8 Android)。 从历史上看,我们将应用程序数据保存在外部文件夹中,以方便故障排除、客户支持和升级灵活性。
一种情况是,在启动时,我们可能会将早期版本的应用程序创建的文件夹复制或移动到 Documents 文件夹下的存档中。新版本有时需要访问档案。
我们发现,虽然我们可以轻松地在同一版本的应用程序创建的文档中创建和访问外部数据,但如果我们尝试读取由应用程序的早期版本创建的数据,则会失败。
有谁知道为什么应用程序的较新版本无法读取 .NET MAUI 下早期版本创建的数据? 这似乎与文件夹或文件本身的权限属性有关...(?)...但这是一个假设。
对此有何见解(以及如何使旧档案可读/可写?)
这对我来说毫无意义,但似乎我在 ~/Documents 中读取/写入文件的问题在做了两件事后就消失了:
我将文件夹内容复制到文档中的位置,而不是执行 File.Move()。 有趣的是,复制的文件最终具有与执行 Move() 时相同的读/写属性......所以这仍然是一个谜。
我在 MainActivity 的 Activity 属性中添加了一个“标签”,如下所示:[Activity(Label = "Name of the App", ... )]
我不知道为什么这会产生影响,但它似乎“有效”。