.exe.config :部署到客户端,通过.exe打开后使用配置文件,客户会用到的文件;
.vshost.exe.config : IDE通过F5打开后,宿主进程.vshost.exe打开程序所使用的配置文件,调试时用到的文件.
需要注意的是.vshost.exe.config文件在每次F5(启动调试)后都会刷新数据(取自APP.config).
//读写Config文件
/// <summary>
/// 获取配置文件中key的值
/// </summary>
/// <param name="key">键名</param>
/// <param name="defaultvalue">默认值</param>
/// <returns></returns>
public static string GetConfig(string key, string defaultvalue)
{
string sRtn;
Configuration configuration = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None);
AppSettingsSection app = configuration.AppSettings;
if (app == null || app.Settings == null || app.Settings.Count == 0)
{
sRtn = defaultvalue;
SaveConfing(key, defaultvalue);
}
else
{
if (app.Settings[key] == null)
{
sRtn = defaultvalue;
SaveConfing(key, defaultvalue);
}
else
{
sRtn = app.Settings[key].Value;
}
}
return sRtn;
}
/// <summary>
/// 保存配置文件
/// </summary>
/// <param name="key">键名</param>
/// <param name="value">值</param>
public static void SaveConfing(string key, string value)
{
Configuration configuration = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None);
AppSettingsSection app = configuration.AppSettings;
foreach (string k in app.Settings.AllKeys)
{
if (k.Equals(key))
{
app.Settings.Remove(k);
}
}
app.Settings.Add(key, value);
configuration.Save(ConfigurationSaveMode.Modified);
}