无法在本地用户目录中使用AppSettings部分创建配置文件

时间:2013-04-18 15:01:08

标签: c# oop configuration-files

当配置文件位于应用程序目录中时,我能够从.config文件中读取并将更改写回。我现在想要更改此权限,因为用户权限并将我的.config文件移动到users / xxx / local目录。 我已经知道你需要将SectionInformation.AllowExeDefinition属性更改为ConfigurationAllowExeDefinition.MachineToLocalUser 但是我无法为AppSettings部分更改此属性。

这是我从AppSettings

中读取的内容
//Read COM Port settings
UIModel_settings.COMport = System.Configuration.ConfigurationManager.AppSettings.Get("COMPort");

这就是我写给AppSettings的方式

System.Configuration.Configuration config = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.PerUserRoamingAndLocal); 
config.AppSettings.Settings["COMPort"].Value = UIModel_settings.COMport;
config.Save(ConfigurationSaveMode.Modified);
ConfigurationManager.RefreshSection("appSettings");

当我运行时,我在Save方法中遇到锁定错误:     锁定时无法编辑ConfigurationSection属性。

任何想法如何解决这个问题?或者我如何在本地用户目录下创建此文件?

由于

Zjerre

1 个答案:

答案 0 :(得分:2)

在您的项目中,您是否有设置文件项(例如Settings.settings)?

如果是这样,这将生成一个Settings类,其中包含一个静态Default属性,可用于访问appSettings元素。如果没有,那么您可以尝试从解决方案资源管理器添加一个 - >项目 - >添加项目 - >设置文件。

UIModel_settings.COMport = Settings.Default.COMPort;