如何修改App.Config部分值

时间:2012-01-12 10:23:15

标签: c# .net app-config

我有一个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");

环境变量没有给我足够的选项来让子元素修改值。请问任何人请帮我解决这个问题。

1 个答案:

答案 0 :(得分:3)

使用用户范围设置!!永远不要以这种方式改变应用程序配置。应用程序中更改的任何值都应该是用户设置。

通常,您可以通过

访问这些设置
Properties.Settings.Default.MyConfigurationValue = ....;
Properties.Settings.Default.Save();

修改
用于做我在评论中写的内容的示例。创建两个用户设置:FirstRunbool,默认设置为trueEnvironment是您的值,默认设置为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,所以不要!