Как изменить значение параметра Settings.settings

У меня есть простое консольное приложение, которое запускается ежедневно (вызывается планировщиком задач windows) и зависит от значения, которое увеличивается при каждом запуске приложения. Чтобы сохранить это значение, я решил использовать файл Settings.Settings.

Таким образом, у меня есть целочисленное значение RunNumber с областью User, которое увеличивается каждый раз, когда приложение завершает работу:

Properties.Settings.Default.RunNumber++;
Properties.Settings.Default.Save();

Частично я выбрал этот способ потому, что значение также помещено в файл app.config:

<setting name="RunNumber" serializeAs="String">
    <value>0</value>
</setting>

Это означает, что если RunNumber нужно неожиданно увеличить, его можно просто изменить в app.config:

<setting name="RunNumber" serializeAs="String">
    <value>10</value>
</setting>

Я ожидал, что в следующий раз, когда мое приложение будет читать значение RunNumber, оно примет значение, установленное в app.config (в данном случае 10). Этого не происходит, и вместо этого при следующем запуске приложения оно будет использовать значение, которое было изменено последним, в этом случае номер запуска будет 1, а не 10, как я ожидал.

Мое приложение получает доступ к значению RunNumber следующим образом:

Properties.Settings.Default.RunNumber

Как я могу изменить значение RunNumber без необходимости модифицировать приложение? Идея в том, что если его нужно изменить на неожиданное значение, я мог бы просто изменить значение в app.config вместо того, чтобы изменять код и повторно развертывать приложение.

5
задан Aesir 6 July 2011 в 08:59
поделиться