因此,过去几天我一直在 SO 和 google 上四处寻找有关app.config
.
我正在编写一个程序,该程序需要使用用户输入的值生成 SQL 脚本。最初我app.config
用来存储一些默认值,以便在程序首次启动时加载到程序中。在我尝试将新值存储回app.config
文件之前,这一直很好。这是我发现它app.config
是只读的,我应该一直在使用user.config
.
我有几个问题似乎无法找到答案:
是否建议使用
settings.Setting
声明我要使用的所有值app.config
?还是手动输入就足够了?我一直在阅读有关如何
user.config
覆盖app.config
设置的信息。但是当我更新我的文件时,程序仍然从原始文件user.config
中读取app.config
这是来自我的包装类
public NameValueCollection ReadSettings(string sectionName)
{
NameValueCollection scripts = null;
try
{
//read in the current values from the section
scripts = (NameValueCollection)ConfigurationManager.GetSection(sectionName);
if (scripts == null) throw new appConfigException(String.Format("The section {0} does not exists in app.config", sectionName));
}catch (Exception e){
//print out the log file
StreamWriter writer = new StreamWriter(DateTime.Now.ToString("d-MMM-yyyy") + "log.txt");
writer.WriteLine(e.ToString());
writer.Close();
//kill the application process so the user cannot advance further
System.Diagnostics.Process.GetCurrentProcess().Kill();
}
return scripts;
}
是否ConfigurationManager
应该自动知道从 开始阅读user.config
?还是我需要更改这部分代码以反映这一点?