我遇到了一个问题,我无法解析文档标准配置。
例如:
private string GetConfigKey(string param)
{
Configuration dllConfig = ConfigurationManager.OpenExeConfiguration(this.GetType().Assembly.Location);
AppSettingsSection dllConfigAppSettings = (AppSettingsSection)dllConfig.GetSection("appSettings");
return dllConfigAppSettings.Settings[param].Value;
}
因此,我从表格中获取文件中的设置:
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<appSettings>
<add key="host" value="mail.ololo.by"/>
</appSettings>
<configSections>
<section name="provideConfig" type="System.Configuration.DictionarySectionHandler"/>
<section name="provideMailStatus" type="System.Configuration.DictionarySectionHandler" />
</configSections>
<provideConfig>
<add key="post@gate.ololo.by" value="Mail Subject 1"/>
<add key="guga@gate.ololo.by" value="Mail Subject 2"/>
</provideConfig>
<provideMailStatus>
<add key="status1" value="send"/>
<add key="status2" value="draft"/>
<add key="status2" value="other"/>
</provideMailStatus>
</configuration>
但
Hashtable hashtable =
(Hashtable)ConfigurationManager.GetSection("provideConfig");
foreach (DictionaryEntry dictionaryEntry in hashtable)
{
Console.WriteLine(dictionaryEntry.Key+" "+dictionaryEntry.Value);
}
但不幸的是,configSections有问题。我似乎无法得到它。 MB,我的方向是错误的吗?
P.S。配置文件不能命名为"app.config"
- 只能命名项目dll名称
答案 0 :(得分:2)
配置文件应命名为可执行文件名和“.config”。即使这个可执行文件也使用这个dll文件。 例如:ConSoleApplication.exe使用MyLibrary.dll。然后配置文件必须命名为ConSoleApplication.exe.config
如果您需要配置文件的其他名称,请阅读this
答案 1 :(得分:2)
谢谢大家,我应对了这个问题。 我可以判断某人是否会感兴趣。
Configuration Section Designer Codeplex
.NET Configuration Code Generator
最好的问候,yauhen。