没有创建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

    上一篇: user.config file not being created but app.config is?

    下一篇: socket ResourceWarning using urllib in Python 3