2

我正在尝试使用 ConfigurationManager (ConfigurationUserLevel.PerUserRoaming) 将字符串保存到漫游配置文件中当前应用程序默认配置的 AppSettingsSection。

当我保存到本地配置文件(ConfigurationUserLevel.None)时,它工作得很好。

// Write Name in NameSaved Section of AppSettings
public void WriteNameToAppSettings(string nameToSave)
{
    // Open Config File
    Configuration configuration = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.PerUserRoaming); // ConfigurationUserLevel.None (local) is working just fine...

    // Add or Update NameSaved Section of AppSettings
    if ((configuration.AppSettings.Settings["NameSaved"]?.Value) == null)
        configuration.AppSettings.Settings.Add("NameSaved", nameToSave);
    else
        configuration.AppSettings.Settings["NameSaved"].Value = nameToSave;

    //  Save and Refresh Config File            
    configuration.Save(ConfigurationSaveMode.Modified);
    ConfigurationManager.RefreshSection(configuration.AppSettings.SectionInformation.Name);
}

// Set LastEnteredName Property from NameSaved Section of AppSettings
public void ReadNameFromAppSettings()
{
    // Read Config File and then Get Name LastEntered Section of AppSettings
    LastEnteredName = ConfigurationManager.AppSettings["NameSaved"]?.ToString() ?? ""; // If null default to ""
}

我得到的错误是:
System.InvalidOperationException:'ConfigurationSection 属性在锁定时无法编辑。'

关于如何解决这个问题的任何线索?

4

0 回答 0