基于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

时间: 2024-08-04 20:31:58

基于Debug模式windows应用程序app.config设置的相关文章

用Visual C#开发基于OpenCV的Windows应用程序

http://blog.163.com/wangxh_jy/blog/static/28233883201001581640283/ 关于详细的配置及程序运行截图,请下载:http://download.csdn.net/source/1127474名为<用Visual C#开发基于OpenCV的Windows应用程序>的文章. 由于百度允许的字数太少了,所以就不贴全部程序了.有需要源程序的话,请下载:http://download.csdn.net/source/1127477 下面是主要的

flask 操作数据时,db的要在app.config设置之后声明:如app.config[&#39;SQLALCHEMY_DATABASE_URI&#39;]

flask 操作数据时,db的要在app.config设置之后声明:如app.config['SQLALCHEMY_DATABASE_URI'] 否则,运行程序时app.config里面做的设置就不会生效,就会提示各种参数没做设置 因为db在声明的时候解释器就会去读数据库URI的值,如果此时没有读到,后面设置了也不会去读了 #encoding=utf-8 #from foo_orm import Model, Column, String from flask import Flask, ren

共享链模式开发小程序app系统详解

使用会员卡进行促销方法来说是现代商家最为常见的促销手段,很多都使用返利的信息或是换购的措施来刺激消费,作为商业财务来说,用会员卡积分购物后如何记入账务? 我们所说的会员卡的积分通常来说是一种收入的确认方法,比如:会员购买了1000元左右的东西,那么这个消费者的积分就可以领取50元,实际上来看,这个会员消费者实际上就是给商家950元钱就可以进行消费支出了,而商场在开出发票时,不能够按1000元来开,而是按照950元来进行开取发票,也就是商业折扣的费用是50元,这样企业能够少交纳50元的税款,实际上

昨天太晚了,今天教你用Debug模式来分析程序执行顺序

还是以昨天的XML文件解析来做栗子,希望通过这个好吃的栗子可以举一反三 学会用debug来看源码和找Bug 事件类型主要有五种START_DOCUMENT:xml头的事件类型    = 0END_DOCUMENT:xml尾的事件类型       =1START_TAG:开始节点的事件类型  = 2 END_TAG:结束节点的事件类型   = 3TEXT:文本节点的事件类型 = 4 我们的XML文件: <?xml version="1.0" encoding="utf-8

基于win32的windows画板程序

功能设计如下: 1.Graphics菜单中可选择图形,支持Rectangle, Circle, Line,选择对应图形,则相应菜单项前面加上选中标志: 2.Options菜单中包含以下选项 a.Color,设置颜色,选中此项,则弹出如下图所示对话框 进入对话框时,默认值为当前颜色,单击"确定"后,则以选中颜色为当前前景色和填充色进行图形绘制 b.Width 设置线条的宽度,选中此项则弹出如下对话框 进入对话框时,默认值为当前所使用的宽度值,单击"确定"按钮后,则以设

Windows应用程序运行权限设置

在Vista以后的windows版本中,有些时候需要提升编译后生成程序的权限,即希望让生成的程序以管理员身份运行.虽然在一般情况下,可以使用鼠标右键选择的方式来强行以管理员身份运行,但它并没有屏蔽普通运行方式,而且普通人通常也不会使用右键选择以管理员身份运行,所以必须在生成程序时就限定程序只能以管理员方式来运行. 先简单说一下,在Vista以后的windows版本中,微软引入了UAC机制,它的目的是防止程序对操作系统本身进行恶意篡改.要让程序以管理员身份运行,就需要在程序中引入UAC标注,也即让

python flask框架学习——开启debug模式

学习自:知了课堂Python Flask框架——全栈开发 1.flask的几种debug模式的方法 # 1.app.run 传参debug=true app.run(debug=True) #2 设置app的配置 app = Flask(__name__) app.config['DEBUG'] = True #3 配置文件方式 # config.py中添加debug模式 DEBUG = True #app.py中引用配置 import config app.config.from_object

更改windows服务的配置文件(app.config)必须重启服务才能生效吗?

这个问题是前一阶段写windows服务碰到的.本来在写获取配置文件的某个配置的值的时候,通常我都是写类似下面的这么一个静态方法来获取: 1: /// <summary> 2: /// 获取每次处理记录数 3: /// </summary> 4: /// <returns></returns> 5: private static int GetRecordCount() 6: { 7: int recordCount = 10000; 8: try 9: {

【系统Configmachine.config与自己的应用程序的App.config/Web.Config配置节点重复】解决方法

自己的应用程序的App.config或Web.Config文件中与系统的C:\Windows\Microsoft.NET\Framework64\v4.0.30319\Configmachine.config文件1.重复如下配置: <DbProviderFactories> <add name="MySQL Data Provider2" invariant="MySql.Data.MySqlClient" description=".N