C# 更新app.config c中的密钥#
我正在引用internet上的示例来更改app.config中的设置,下面是我的代码C# 更新app.config c中的密钥#,c#,C#,我正在引用internet上的示例来更改app.config中的设置,下面是我的代码 string startupPath = AppDomain.CurrentDomain.BaseDirectory.Replace(@"\bin\Debug", "")+ "App.Config"; Configuration config = ConfigurationManager.OpenExeConfiguration(startupPath);
string startupPath = AppDomain.CurrentDomain.BaseDirectory.Replace(@"\bin\Debug", "")+ "App.Config";
Configuration config = ConfigurationManager.OpenExeConfiguration(startupPath);
config.AppSettings.Settings.Remove("MaintainBackup");
config.AppSettings.Settings.Add("MaintainBackup", "No");
config.Save(ConfigurationSaveMode.Minimal);
问题是,它不是在更新app.config中的键值(在根目录中),而是在我使用
Configuration config = ConfigurationManager.OpenExeConfiguration(Application.ExecutablePath);
它会更新bin文件夹中的WinApp.vshost.exe.Config。
问题1.]-我的应用程序正在选择哪个配置文件
根目录中的App.config
或bin文件夹中的WinApp.vshost.exe.config
问题2.]如果它是根目录中的App.config,那么它为什么不更新键值呢?我将尝试在混乱中建立一些秩序: 这里混合了两个概念:
因此,在调试应用程序时,您的名称将是AppName.vshosts.exe,因此将使用的配置文件将是AppName.vshosts.exe.config,因为
App.config
在应用程序启动时只读取一次。只需重新启动应用程序,ConfigurationManager
就会有您的值。不,它不起作用,仍然是app.config中的旧值