没有创建user.config文件,但app.config是?
我的程序有一些内置的用户范围设置。 但是,当程序启动时,它只会创建包含设置的AppName.exe.config文件。
稍后在运行时保存设置时,会在AppData / Local / AppName /位置创建user.config文件(以前不存在),但该文件只包含保存的设置。
为什么会发生? 为什么不创建user.config或在启动时使用它,如果它存在?
从MSDN的应用程序设置体系结构:
应用程序范围的设置可以存储在machine.config或app.exe.config文件中。 Machine.config始终为只读,而app.exe.config受安全考虑因素限制为只读,适用于大多数应用程序。
用户范围设置可以存储在app.exe.config文件中,在这种情况下,它们被视为静态默认值。
非默认的用户范围设置存储在新文件user.config中,其中用户是当前正在执行应用程序的用户的用户名。 您可以使用DefaultSettingValueAttribute为用户范围设置指定默认值。 由于用户范围设置在应用程序执行期间经常发生更改,因此user.config始终为读/写。
你首先看到的是(你称之为)的“内置设置”存储为(微软称之为)“静态默认”用户范围设置,它们存储在app.exe中(按照2)。
然后当你在运行时写回你的设置时,它们被视为“非默认”用户范围设置,并且它们被写入到user.config(按照3),因此为什么只有这样才能看到用户.config文件创建。
简而言之,只要用户范围设置对每个人都是相同的(默认值),则不需要每个用户的user.config文件。
链接地址: http://www.djcxy.com/p/11809.html