configSection.SectionInformation.ForceSave ошибка c # - PullRequest
0 голосов
/ 03 ноября 2011

Я создал пользовательский configSection в моем app.config. По некоторым причинам я не могу установить ForceSave в true:

MyCustomConfigSection.SectionInformation.ForceSave = true;

Я получаю исключение:

InvalidOperationException не обработано; Эта операция не применяется во время выполнения.

Мне нужно сделать что-то еще для этого?

Ответы [ 2 ]

1 голос
/ 03 ноября 2011

Пользовательские объекты конфигурации инициализируются при запуске приложения и предназначены для чтения во время работы приложения.

Установив переменную класса конфигурации, вы, по сути, пытаетесь записать файл .config, который вызывает хоствопросов.Вот почему эта операция не поддерживается.

Почему вы пытаетесь записать значения конфигурации во время выполнения?

0 голосов
/ 03 ноября 2011

@ Джейсон Я только что привел тебе пример.Это может быть что-нибудь еще.Я решил свою проблему.Чтобы сохранить изменения в пользовательском разделе, нам нужно получить его из класса Configuration.Вот код:

  ConfigurationManager configFileManager = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None);
  MyCustomSection myCustomSection = (MyCustomSection )_configFileManager.GetSection("MyCustomSectionName");
  //here we apply changes to our custom section
  //and finally save our config file
  configFileManager.ConfigFileManager.Save(ConfigurationSaveMode.Full);

Вот и все.

...