Вот два варианта, чтобы получить желаемый результат, используя параметр культуры
German
SELECT FORMAT(19998.018,'# ##0.000', 'de-de')
Swedish
SELECT FORMAT(19998.018,'# ##0.000', 'sv-se')
ApplicationSettingsBase имеет метод под названием Обновление, которое перемещает все настройки от предыдущей версии.
Для выполнения слияния каждый раз, когда Вы публикуете новую версию своего приложения, можно определить булев флаг в файле настроек, это принимает значение по умолчанию к истинному. Назовите это UpgradeRequired или чем-то подобным.
Затем в приложении запускают Вас проверка, чтобы видеть, установлен ли флаг и если это, назовите Метод обновления, установите флаг на ложь и сохраните Вашу конфигурацию.
if (Settings.Default.UpgradeRequired)
{
Settings.Default.Upgrade();
Settings.Default.UpgradeRequired = false;
Settings.Default.Save();
}
Читайте больше о Методе обновления в MSDN. GetPreviousVersion мог бы также быть достойный внимания, если необходимо сделать некоторое пользовательское слияние.
Если Ваши изменения в user.settings сделаны программно, как насчет того, чтобы поддержать копию (просто) модификаций к user.settings в отдельном файле, например, user.customized.settings?
Вы, вероятно, все еще хотите поддержать и загрузить измененные настройки в user.settings также. Но этот путь при установке более новой версии приложения с его более новой версией user.settings, можно спросить пользователя, если они хотят продолжить использовать свои измененные настройки путем копирования их назад в новый user.settings. Вы могли импортировать их оптовая торговля, или стать более необычными и попросить, чтобы пользователь подтвердил, какие настройки они хотят продолжить использовать.
Править: Я читал слишком быстро по "более точно" часть о версиях блока, заставляющих новый user.settings быть установленным в новый определенный для версии каталог. Таким образом идея выше, вероятно, не помогает Вам, но может обеспечить некоторую пищу для размышления.