我在互联网上引用的例子来改变app.config中的设置,下面是我的代码
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而不是更新键值的原因
答案 0 :(得分:1)
我会尝试在混乱中做出一些命令:
这里混合了两个概念:
App.Config 是一个开发时间文件,在编译后它将变为AppName.exe.config,并且您的应用程序将在运行时使用此文件。
vshosts.exe 是Visual Studio的主机文件,旨在通过visual studio进行调试时提供更好的性能。
因此,调试应用程序名称时将是AppName.vshosts.exe,因此将使用的配置文件将是AppName.vshosts.exe.config