在哪里存储桌面应用程序的用户数据?

Som*_*chr 5 .net c# desktop-application file-management

我正在开发 C#.NET 桌面应用程序,我希望用户能够创建新的数据库文件。我是桌面应用程序的新手,我真的不知道存储这些文件的最佳位置在哪里。我想将它们存储在我的应用程序文件夹中,但我读到这不是最好的解决方案。我应该将它们存储在 C:// 中还是有其他一些最佳实践?

小智 0

这个问题不能这么简单地回答。

  • 数据库很大吗?

一个小数据库可以隐藏在 ProgramData 中。对于可能有 TB 大小的存储库来说,这几乎没有什么好处。

  • 用户是否知道有一个数据库文件?

还是他从未见过的“隐藏特征”?

  • 数据库文件是否特定于应用程序?

双击时会发生什么?

我应该将它们存储在 C:// 中还是有其他最佳实践?

有最佳实践。C 从来都不是最佳实践,所以它不是“其他”。对于 Windows 的实际情况,唯一更无知的就是将其存储在应用程序文件夹中 - 按照标​​准,该文件夹对于用户来说是只读的。

有一个已知的文件夹集合和一些系统调用来查找它们的“真实”位置。

Environment.SpecialFolders 枚举具有这些位置 - 我相信您可以浏览足够的文档来找到其余部分。

ApplicationData 或 CommonDocument 或类似的东西可能适用,但从用户的角度来看,它实际上取决于它的“性质”。