如何更改Settings.settings值的值

Aes*_*sir 5 .net c#

我有一个简单的控制台应用程序,每天运行(由Windows任务调度程序调用),并依赖于每次运行应用程序时递增的值.为了保持这个值,我选择使用Settings.Settings文件.

所以我有一个带有Scope User的名为RunNumber的整数值,每次应用程序运行完毕时都会递增:

Properties.Settings.Default.RunNumber++;
Properties.Settings.Default.Save();
Run Code Online (Sandbox Code Playgroud)

我选择这个的部分原因是该值也被放入app.config文件中:

<setting name="RunNumber" serializeAs="String">
    <value>0</value>
</setting>
Run Code Online (Sandbox Code Playgroud)

这意味着如果RunNumber必须意外增加,它可以在app.config中更改:

<setting name="RunNumber" serializeAs="String">
    <value>10</value>
</setting>
Run Code Online (Sandbox Code Playgroud)

我的期望是,下次我的应用程序读取RunNumber的值时,它将采用app.config中设置的值(在本例中为10).这不会发生,而是在下次运行应用程序时,它将使用它最后修改的值,在这种情况下,运行编号将是1而不是我期望的10.

我的应用程序访问RunNumber的值,如下所示:

Properties.Settings.Default.RunNumber
Run Code Online (Sandbox Code Playgroud)

如何在不修改应用程序的情况下更改RunNumber的值?想法是,如果需要将其意外更改为值,我只需修改app.config中的值,而不必更改某些代码并重新部署应用程序.

Joã*_*elo 6

被放置在该值app.config默认使用时,一个新的用户使用你的应用程序和他的设置需要创建.在运行应用程序之后,user.config将创建一个a 来存储用户范围设置.

为了手动更改值,您需要user.config在用户配置文件目录中的相应位置执行此操作,因为如果您app.config只更改新用户将看到更改.

在没有漫游配置文件的Windows 7和名为的Windows窗体应用程序中,Example.Settings.CustomClass我获取了user.config的以下文件夹:

C:\Users\[user]\AppData\Local\Microsoft\Example.Settings.CustomCl_Url_3qoqzcgn1lbyw2zx3oz1o3rsw2anyjsn\1.0.0.0
Run Code Online (Sandbox Code Playgroud)