上章描述了总体的操作,本章继续细化:
一:在线更新
如果能把文件列表里的文件全部替换是最好的选择。
但现实是:app.config ,web.config 这类数据经常是在布署后还要手工改动。把它替换了就得重配一次。
如果把它从更新列表里移除?也不行,第一次配置人员不可能全敲一遍。
只新增不覆盖?当加了新的配置项时,配置人员也得敲一遍。
方案一:在配置文件作出标记,指明哪些是不可覆盖的。。这样更新程序就把这一块取出,替换掉原文件里的标记块,再保存。
缺点是时间长了加上交接,这种标记可能就被忘却了。
方案二:把app.config直接视为只读文件,客户端程序弹出设置界面,如果有不同于app.config的配置,存到另一个文件里。
优点很明显,使用时大家都轻松。
缺点是要加相当的代码。
方案三:如果配置文件已经存在,就不覆盖了,换个名称保存。比如web.config.old, 配置人员自行比对,
看起来是不错的选择,毕竟配置文件就是让人改的。
二:发布程序
1:首先定义结构体:
public class ProgramList
{
public string appName { get; set;