我需要为我的应用程序存储日志文件和配置文件。存放它们的最佳地点在哪里?
现在,我仅使用当前目录,该目录最终将它们放在程序所在的Program Files目录中。
用户可能会定期访问日志文件,因此%APPDATA%
似乎很难获取。%USERPROFILE%\My Documents
下的目录是最好的吗?从2000开始,它需要适用于所有版本的Windows。
最佳答案
如果您不使用ConfigurationManager
来管理您的应用程序和用户设置,则应该使用。 .NET Framework中的配置工具包经过了深思熟虑,并且与其进行互操作的Visual Studio工具也是如此。ConfigurationManager
的默认行为将不变(应用程序)设置和可修改(用户)设置都放在正确的位置:应用程序设置位于应用程序文件夹中,而用户设置位于System.Environment.SpecialFolder.LocalApplicationData
中。它在支持.NET的所有Windows版本下均可正常运行。
对于日志文件,System.Environment.SpecialFolder.LocalApplicationData
通常是您要放置它们的位置,因为它保证是用户可写的。
当然,在某些情况下您不会这样做-例如,如果您想将文件写入网络共享,以便可以轻松地远程访问它们。有很多种实现方法,但是大多数方法都是从创建包含共享文件夹路径的应用程序设置开始。所有这些都涉及管理。
我对ConfigurationManager
和VS工具有一些提示:需要比现有的更好的高级文档,以及由VS生成的Settings
类的更好的文档。 app.config
文件转换为目标构建目录中的应用程序配置文件的机制是不透明的(并且是所有最常见问题之一的源:“我的连接字符串发生了什么?”)。而且,如果有一种方法可以创建没有默认值的设置,那么我还没有找到它。
关于c# - 在Windows上为我的程序存储配置文件和日志文件的最佳位置?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/269893/