这是我的app.config
<configuration>
<configSections>
<section name="procedureList" type="System.Configuration.NameValueSectionHandler, System, Version=4.0.30319, Culture=neutral, PublicKeyToken=b77a5c561934e089"/>
</configSections>
<procedureList>
<add key="NAS.spBusObjGetLineProd" value="@area='Melt Shop';@endDt=?date?;@dayonly=1;@obj='Melt Shop Business Objective" />
<add key="NAS.spBusObjGetLineProd" value="@area='Cold Mill';@endDt=?date?;@dayonly=1;@obj='Cold Mill Business Objective" />
</procedureList>
<appSettings>
<add key="Connstr" value=""/>
<add key="Userid" value=""/>
<add key="Timeout" value=""/>
</appSettings>
</configuration>
但是当我在代码中调用它时,我得到一个空值
public void samplemethod()
{
NameValueCollection nvc = ConfigurationManager.GetSection("procedureList") as NameValueCollection;
string[] keys = nvc.AllKeys;
}
我很感激任何帮助,指出我做错了什么
答案 0 :(得分:6)
Using section handlers to group settings in the configuration file
例如,您可以遵循以下内容
private void ReadSettings()
{
NameValueCollection loc =
(NameValueCollection )ConfigurationSettings.GetConfig("procedureList");
}
答案 1 :(得分:2)
如果您正在测试课程,则必须将配置复制到测试项目中的app.config
。
答案 2 :(得分:0)
使用即时窗口检查它指向哪个配置文件。在我的情况下,我有 app.config,我希望它能够读取,但是在使用命令时。 ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None) 它指向其他类似 nuintrunner.exe.config 的信息,因为该信息已加载到 bin 中。这有助于加载正确的配置文件