我正在尝试使用configurationmanager将用户设置保存到配置文件中。
我只想将这些设置作用于用户,因为没有管理员权限,应用程序更改无法保存在vista/win 7上。
这似乎得到了用户的配置,它似乎保存在win 7([驱动器]:\user s\[用户名]\appdata\local\[应用程序名]\[程序集名][哈希]\[版本]中
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)
我已尝试将自定义配置节添加到此配置中。我已尝试添加到appsettings部分。每次我打电话
config.Save()
它抛出了上面的异常。
有什么想法吗?
我曾尝试通过项目设置设计器使用applicationsettingsbase类,但似乎无法用此保存自定义类型。我想要类似的功能,能够保存自定义类型。