介紹
當我們開發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