我正在尝试使用 ConfigurationManager 将用户设置保存到配置文件中。
我只想将这些设置范围限定为用户,因为没有管理员权限就无法在 Vista/Win 7 上保存应用程序更改。
这似乎让我得到了用户的配置,它似乎保存在 Win 7 中 ([Drive]:\Users\[Username]\AppData\Local\[ApplicationName]\[AssemblyName][hash]\[Version\)
Configuration config = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.PerUserRoamingAndLocal);
每当我尝试完全保存对此配置的任何更改时,都会出现此异常:
InnerException: System.InvalidOperationException
Message="ConfigurationSection properties cannot be edited when locked."
Source="System.Configuration"
StackTrace:
at System.Configuration.SectionInformation.VerifyIsEditable()
at System.Configuration.MgmtConfigurationRecord.GetConfigDefinitionUpdates(Boolean requireUpdates, ConfigurationSaveMode saveMode, Boolean forceSaveAll, ConfigDefinitionUpdates& definitionUpdates, ArrayList& configSourceUpdates)
我尝试向此配置添加自定义 ConfigurationSection。我尝试添加到 AppSettingsSection。每当我调用config.Save()
它时,都会抛出上面的异常。
有任何想法吗?
我尝试通过 Project->Settings 设计器使用 ApplicationSettingsBase 类,但您似乎无法使用它保存自定义类型。我想要具有保存自定义类型的类似功能。