предоставлять доступ на запись с помощью C # во время выполнения

#c#

#c#

Вопрос:

Во время выполнения мне нужно изменить файл app.config, как я могу это сделать с помощью c#

Комментарии:

1. вы хотите использовать то же приложение app.config??

Ответ №1:

Вам нужно добавить ссылку на System.Configuration в свой проект. Затем вы могли бы использовать подобный код для изменения app.config вашего исполняемого файла:

 // Open App.Config of executable
System.Configuration.Configuration config = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None);
// Add an Application Setting.
config.AppSettings.Settings.Remove("LastDateFeesChecked");
config.AppSettings.Settings.Add("LastDateFeesChecked", DateTime.Now.ToShortDateString());
// Save the configuration file.
config.Save(ConfigurationSaveMode.Modified);
// Force a reload of a changed section.
ConfigurationManager.RefreshSection("appSettings");
  

ПРИМЕЧАНИЕ: похоже, что этот код не будет работать во время отладки. Вы должны запустить код в «Режиме выпуска», чтобы это сработало.


Вот многообещающая ссылка на CodeProject.

Ответ №2:

Не уверен, но попробуйте это

задайте ссылку, используя пространство имен

 using System.Configuration;
Configuration config = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None);
AppSettingsSection configSection = config.AppSettings;

try {
  if (configSection != null) {
    if (configSection.IsReadOnly() == false amp;amp; configSection.SectionInformation.IsLocked == false) {
      configSection.Settings("KeyName").Value = "NewValue";
    config.Save();
    }
  }
}   
catch (ConfigurationException ex) {
   MessageBox.Show(ex.Message, "Configuration Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
  

Проверьте здесь

Ответ №3:

Ах .. вы этого не делаете. Ваш вопрос может быть истолкован как «у меня нет прав на его написание». Это нормально. Папка приложения не должна редактироваться программой или обычными пользователями. Сохраните вашу нестатическую конфигурацию где-нибудь в другом месте (специальная папка CommonAppData).