Могу ли я указать разные «.settings» для конфигурации отладки и выпуска? - PullRequest
1 голос
/ 03 мая 2010

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

Ответы [ 2 ]

1 голос
/ 03 мая 2010

Файл Settings.Designer.cs не содержит значений, только объявления свойств настроек приложения. Значения хранятся отдельно. Значения параметров приложения находятся в файле app.exe.config, значения параметров в пользовательской области - в папке appdata, имя которой генерируется алгоритмом хеширования. У вас будут проблемы только с последним. Не имеет значения, файл не будет существовать при развертывании сборки Release на компьютере.

В случае, если вы имеете в виду «могу ли я изменить значение по умолчанию », тогда ответ: не при использовании дизайнера настроек. Вам придется перенести настройку в отдельный класс. Сделайте так, чтобы это выглядело примерно так:

using System;
using System.Configuration;
using System.Diagnostics;

namespace ConsoleApplication1.Properties {
    internal partial class Settings {
        [UserScopedSetting, DebuggerNonUserCode]
#if DEBUG
        [DefaultSettingValue("debug value")]
#else
        [DefaultSettingValue("release value")]
#endif
        public string Setting {
            get {
                return ((string)(this["Setting"]));
            }
            set {
                this["Setting"] = value;
            }
        }

    }
}

Убедитесь, что имя пространства имен совпадает с тем, которое используется в файле Settings.Designer.cs, и что вы удалили настройку со страницы настроек.

1 голос
/ 03 мая 2010

Я использую два отдельных файла конфигурации для каждого режима. Я копирую файлы в папку BIN в событии POST-BUILD.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...