基于Debug模式windows应用程序app.config设置
介绍
当我们开发Windows窗体应用程序,我们肯定会利用App.config的。我们可以添加,修改和删除键/值对管理用户首选项。在这里,将会节省你的时间。
演示
这里有一个简单的Windows窗体应用程序来展示如何添加一个密钥对到App.config文件。我建立的Visual Studio 2015年这里面的Windows窗体应用程序。
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows.Forms; using System.Configuration; namespace AppConfig { public partial class Form1 : Form { public Form1() { InitializeComponent(); } //display current value of Setting1 variable private void button2_Click(object sender, EventArgs e) { //clear first label1.Text = ""; DisplayConfig(); } private void DisplayConfig() { foreach(string key in ConfigurationManager.AppSettings) { string value = ConfigurationManager.AppSettings[key]; label1.Text = label1.Text + " " + key + ": " + value; } } //display current content in App.config appSettings section private void button1_Click(object sender, EventArgs e) { Configuration config = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None); config.AppSettings.Settings.Add("ModificationTime", DateTime.Now.ToLongTimeString() + " "); config.Save(ConfigurationSaveMode.Modified); ConfigurationManager.RefreshSection("appSettings"); } } }
问题
Visual Studio2015,按F5运行该应用程序。按下按钮,添加时间到App.config中,然后单击显示按钮,在App.config文件的当前值:
我们可以看到修改时间加入到App.config中。现在,我们去的bin文件夹这个项目,并找到App.config中。在记事本打开它,你会发现修改时间是不存在的。这里的问题是:我们看到这个时间加入到App.config中,但是当我们打开App.config文件和该键/值对不存在。
发生了什么?
回答
它与Visual Studio 2015调试过程有关。当我们按F5键并开始调试过程中,Visual Studio创建自己的主机进程。内部项目bin/ debug文件夹,你会看到projectName.vshost和projectName.vshost.exe XML文件。当您运行的Visual Studio IDE中该应用程序,修改时间键/值对放入projectName.vshost.exe xml文件。在您停止调试过程中,缓存被释放,修改时间键/值对从XML文件刷新。所以你不会看到任何改变这个XML文件。
另请注意,调试过程里面,是从来没有使用过projectName.exe.config。所以,如果我们打开projectName.exe.config文件,我们将不会看到任何变化。
两种解决办法:
解决方法一:启动命令行提示符并转到bin\ Debug文件夹。从那里运行演示应用程序。你会看到在App.config中的appSettings部分的修改时间。
解决方法二:选择项目的属性页; 选择调试选项卡,进入底部区域“启用调试器”,取消选中“启用的Visual Studio宿主进程”为下面的截图:
希望这可以提示一些时间节省你的未来。如果您有任何意见和反馈,请让我知道。
原文链接http://www.codeproject.com/Tips/1086805/Basics-on-debugging-App-config-for-Windows-Form-Ap#_articleTop