【发布时间】:2011-01-17 16:15:57
【问题描述】:
我正在构建一个简单的 winforms 应用程序,它使用内置设置来保存程序选项。所有设置都是针对每个用户的。
从生成的 cs 文件中可以看出,默认设置嵌入在源代码中,但应用程序在启动时仍会读取 appname.exe.config 文件。如果我删除该文件,应用程序似乎工作正常,但我想确保它不会破坏任何东西。
如果我只使用每用户设置,那么是否需要该文件?
【问题讨论】:
我正在构建一个简单的 winforms 应用程序,它使用内置设置来保存程序选项。所有设置都是针对每个用户的。
从生成的 cs 文件中可以看出,默认设置嵌入在源代码中,但应用程序在启动时仍会读取 appname.exe.config 文件。如果我删除该文件,应用程序似乎工作正常,但我想确保它不会破坏任何东西。
如果我只使用每用户设置,那么是否需要该文件?
【问题讨论】:
您应该使用用户设置而不是配置文件。请参阅this 文章了解更多信息,包括如何读取/写入用户设置。
【讨论】:
设置设计器将默认值嵌入到 [DefaultSettingValue] 属性中。属性的备注部分中的以下部分是相关的:
不同的设置提供商可能有 不同的要求或限制 关于使用 默认设置值属性。为了 例如,LocalFileSettingsProvider 不需要此属性,并且 将覆盖由提供的任何值 如果有的话,这个属性 值—默认或用户修改— 已经存在于数据存储中。
LocalFileSettingsProvider 是默认提供程序。所以,它在那里,但没有被使用。
【讨论】:
如果您使用Application Settings 并且您希望设置的持久性,那么是的,这是保存选项的位置。如果您删除该文件,如果用户更改设置并且您正在设置该设置,它只会重新创建它。
【讨论】: