我有一个app.config,如下所示,
<configuration>
<environment>
<add key="security" value="1"/> -- I want to change this value to 3
</environment>
</configuration>
我在下面尝试了一下环境部分,
Configuration config = ConfigurationManager.OpenExeConfiguration(exePath);
var environment = config.GetSection("environment");
环境变量没有给我足够的选项来让子元素修改值。请问任何人请帮我解决这个问题。
答案 0 :(得分:3)
使用用户范围设置!!永远不要以这种方式改变应用程序配置。应用程序中更改的任何值都应该是用户设置。
通常,您可以通过
访问这些设置Properties.Settings.Default.MyConfigurationValue = ....;
Properties.Settings.Default.Save();
修改强>
用于做我在评论中写的内容的示例。创建两个用户设置:FirstRun
是bool
,默认设置为true
。 Environment
是您的值,默认设置为0
。
然后,例如在Main
中的Program.cs
函数中,您将执行以下操作:
if (Properties.Settings.Default.FirstRun)
{
Properties.Settings.Default.FirstRun = false;
if (myConditionIsTrue)
Properties.Settings.Default.Environment = 3;
Properties.Settings.Default.Save();
}
稍后在您的应用程序中使用Properties.Settings.Default.Environment
就足够了。如果要从应用程序更改配置值,那么就是如何使用设置机制。
在Windows 2000,XP,7和Windows Server分支下,您甚至无权修改Program Files文件夹中的app.config,所以不要!