读取C#项目中的App.config元素

时间:2014-02-22 00:18:31

标签: c# app-config configurationmanager

我在Visual Studio 2010中工作。我在解决方案中有一个C#项目,在主项目目录中有一个App.config。我正在尝试从Main()方法读取App.config中的属性,如下所示:

String test = ConfigurationManager.AppSettings["streamType"];

我的App.config文件如下所示:

<?xml version="1.0" encoding="utf-8"?>
<configuration>
  <configSections>
    <sectionGroup name="applicationSettings"
              type="System.Configuration.ApplicationSettingsGroup, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" >
      <section name="InteropClient.Properties.Settings"
                type="System.Configuration.ClientSettingsSection, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"
                requirePermission="false" />
    </sectionGroup>
    <section name="connections" type="" />
    <section name="streamType" type="" />
    <section name="messageClass" type="" />
    <section name="serializationMethod" type="" />
    <section name="encryptionMethod" type="" />
  </configSections>

  <connections>
    <connection type="zkClient" connectionString="168.72.70.62:9181" sessionTimeout="5000" initInstructions="" name="zk1"
              classes="Sodao.Zookeeper.Config.ZookeeperConfig, Zookeeper" />
    <connection type="TcpClient" connectionString="" initInstructions="" />
  </connections>
  <streamType>MemoryStream</streamType>
  <messageClass>XGenericMessage</messageClass>
  <serializationMethod>Thrift</serializationMethod>
  <encryptionMethod></encryptionMethod>
</configuration>

尝试运行Main()方法,上面的C#行会抛出ConfigurationErrorsException

  

配置系统无法初始化。

我不确定为什么会这样。我想我已经完成了说明中的所有内容。我很欣赏这个问题的清晰度。

3 个答案:

答案 0 :(得分:1)

我相信它应该是这样的。

<?xml version="1.0" encoding="utf-8"?>
<configuration>
  <configSections>
  </configSections>
  **<appSettings>
      <add key="streamType" value="Somevalue" />
  </appSettings>**
</configuration>

AppSettings节点位于configSections之外。

答案 1 :(得分:0)

这就是你使用AppSettings的方法:

<appSettings>
  <add key="streamType" value="Somevalue" />
</appSettings>

答案 2 :(得分:0)

您没有设置所需部分的类型..

<section name="streamType" type="" />

您应该为初始化添加此部分