У меня есть простое консольное приложение, которое запускается ежедневно (вызывается планировщиком задач 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 вместо того, чтобы изменять код и повторно развертывать приложение.