app.config *.exe.config 和*.vshost.exe.config基础学习
一.问题描述
在使用config文件来保存一些参数,便于下次启动程序时自动加载上次设置的参数的功能时,
碰到个问题,vs2010下调试运行程序始终无法实现config记录上次参数值,而直接运行exe程序
又是可以的。
那么vs下直接调试运行和exe运行有什么区别呢?
二.vs调试运行程序
从vs2005开始,vs调试加入了承载进程(vshost.exe) 引用msdn中有关介绍:
- 提高调试性能
- 部分信任调试
- 设计时表达式计算
(可以设置禁用,参照msdn禁用承载进程)
承载进程详解可以参照http://blog.csdn.net/Donjuan/article/details/3849200
三.app.config, *.exe.config 和 *.vshost.exe.config区别
1.app.config
作为开发时配置参数的文件,可以在vs开发时右键属性设置是否复制到可执行程序同目录下(默认始终不复制)。
在不复制的情况下,编译生成可执行程序时会copy该文件为*.exe.config文件和*.vshost.exe.config文件。
这样的话,在*/bin/debug/ 或者*/bin/release/目录下就不会有app.config文件了,对应的有exe.config和vshost.exe.config。
以后运行exe文件所操作的配置文件(通过System.Configuration对象,System.Configuration config = System.Configuration.ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None))
直接修改的是exe.config文件。
2.*.exe.config
vs调试编译时,如果app.config文件有修改,则会重新copy覆盖到exe.config和vshost.exe.config文件中,
否则exe.config不会改变。exe.config文件为程序实际运行时(直接运行.exe程序)直接操作的配置文件。
3.*.vshost.exe.config
该文件主要是在vs调试运行时起作用,在调试运行程序时(*vshost.exe -> *.exe)先copy *.exe.config覆盖
*.vshost.exe.config,然后运行程序时操作的配置文件为*.vshost.exe.config.在调试程序结束时(*.exe -> *.vshost.exe)
再次copy *.exe.config覆盖*.vshost.exe.config。 所有调试情况下无论怎么修改配置文件,程序退出后都不会修改配置文件(还原了)。
所以在vs调试运行程序时通过配置文件来记录之前的操作无法生效。
实际release版本的exe程序时,*.vshost.exe.config 和app.config(如果copy了的话)可以不要的,但是*.exe.config文件必须有。
app.config *.exe.config 和*.vshost.exe.config基础学习的更多相关文章
- C#之app.config、exe.config和vshost.exe.config作用区别
vshost.exe.config是程序运行时的配置文本 exe.config是程序运行后会复制到vshost.exe.config app.config是在vshost.exe.config和exe ...
- Debug目录、Release目录,bin目录、obj目录,vshost.exe.config文件、.exe.config文件分析【C#】
原文地址:http://blog.csdn.net/itwit/article/details/6803338 今天写程序的时候,需要更改.exe.config文件中的引用的webservice地址, ...
- 宿主进程 [*.vshost.exe] & [*.vshost.exe.config]
宿主进程 [*.vshost.exe] & [*.vshost.exe.config] pdb文件: 英文全称:Program Database File 中文全称:程序数据库 文件 Debu ...
- redis启动错误: Warning: no config file specified, using the default config. In order to specify a config
redis启动错误: Warning: no config file specified, using the default config. In order to specify a config ...
- Java基础学习总结(66)——配置管理库typesafe.config教程
Typesafe的Config库,纯Java写成.零外部依赖.代码精简.功能灵活.API友好.支持Java properties.JSON.JSON超集格式HOCON以及环境变量.它也是Akka的配置 ...
- Visual Studio 不生成.vshost.exe和.pdb文件的方法【转】
Visual Studio 不生成.vshost.exe和.pdb文件的方法[转] 使用Visual Studio编译工程时,默认设置下,即使选择了「Release」时也会生成扩展名为「.vshost ...
- [C#]Hosting Process (vshost.exe)
写在前面 最近在群里,有朋友问起这个vshost.exe进程到底是什么?当时确实不知道是个什么东东,给人的感觉是,经常看到它,就是在启动一个项目的时候,经常看到它,就是没细研究它是啥玩意儿.既然遇到了 ...
- Visual Studio 不生成.vshost.exe和.pdb文件的方法
使用Visual Studio编译工程时,默认设置下,即使选择了「Release」时也会生成扩展名为「.vshost.exe」和「.pdb」的文件. 一.先解释一下各个文件的作用: .pdb文件: 程 ...
- 宿主进程 vshost.exe
Hosting Process (vshost.exe) 宿主进程是VS的一个特性.可以提高调试的性能,可以进行部分信任调试(partial trust debugging),可以进行设计时表达式计算 ...
随机推荐
- .NET单元测试
原文链接:http://www.cnblogs.com/edisonchou/p/5467573.html
- [Flex] ButtonBar系列——flex3 ButtonBar样式之颜色的填充
<?xml version="1.0" encoding="utf-8"?> <mx:Application xmlns:mx="h ...
- jquery mobile转场时加载js失效(转)
jquery mobile拦截了所有的http请求,并使用ajax请求取代传统的http.请求发出后,框架会将请求的内容插入到页面中data- role="page"的部分,取代原 ...
- DevExpress某些控件继承后的可编辑性
今天在使用DevExpress的BarManager菜单控件时,发现在进行继承时无法在继承的子类窗体中对其进行编辑与修改,另外像GridView也有类似的情形,后来查阅资料后,现在可通过DevExpr ...
- ProGuard
ProGuard的作用: 1.创建紧凑的代码文档是为了更快的网络传输,快速装载和更小的内存占用. 2.创建的程序和程序库很难使用反向工程. 3.所以它能删除来自源文件中的没有调用的代码 4.充分利用 ...
- ubuntu实用技巧
添加alias ~/.bash_alias文件: alias go="python /Users/xhat/Downloads/goagent/local/proxy.py" ~/ ...
- 为什么要使用Spark?
现有的hadoop生态系统中存在的问题 1)使用mapreduce进行批量离线分析: 2)使用hive进行历史数据的分析: 3)使用hbase进行实时数据的查询: 4)使用storm进行实时的流处理: ...
- 使用django表单,使网页添加上传文件,并分析文件。
开发环境是: apache + python + django+ eclipse(开发环境) 欲达到目的: 在网页上,添加上传文件控件.然后读取csv文件,并分析csv文件. 操作步骤: django ...
- DP Hrbust1186青蛙过河
http://acm.hrbust.edu.cn/index.php?m=ProblemSet&a=showProblem&problem_id=1186 #include<st ...
- TestCase--搜索&查询模块
一般地,电商网站的搜索模块都是一个搜索字段的输入框和一个搜索按钮组成 如下所示: 而电商网站的后台系统,如erp.wms等系统,一般都会有下方的查询模块 其中包括:时间选择框.下拉框.输入框等 如下所 ...