阅读app.config部分名称

时间:2012-06-25 16:56:11

标签: c# app-config configurationsection

在控制台应用程序中,我试图获得section键值对,但我不能。 有两种方法可以做到这一点:

  1. ConfigurationSection
  2. IConfigurationSectionHandler
  3. 但是下面的代码产生了这个错误:Configuration system failed to initialize 我在哪里弄错了?

    这是代码: app.config

    <?xml version="1.0"?>
    <configuration>
      <configSections>
        <sectionGroup name="testGroupName">
          <section name="secName" type="TestAssemblyConfigReader.TestConfigReader"/>
        </sectionGroup>
      </configSections>
    
      <testGrupAdi>
        <secName anahtar="deger" />
      </testGrupAdi>
    </configuration>
    

    配置读者类:

    using System.Configuration;
    
    namespace TestAssemblyConfigReader
    {
        public class TestConfigReader : ConfigurationSection
        {
            public TestConfigReader()
            {
    
            }
    
            [ConfigurationProperty("secName")]
            public string SecName
            {
                get
                {
                    return (string)this["secName"];
                }
                set
                {
                    this["secName"] = value;
                }
            }
        }
    }
    

    控制台应用程序:

    using System.Configuration;
    using TestAssemblyConfigReader;
    
    namespace ca_FMC.Turkiye.Lib.SVN
    {
        class Program
        {
            static void Main(string[] args)
            {
                TestConfigReader serviceConfigSection = ConfigurationManager.GetSection("testGroupName") as TestConfigReader;
            }
        }
    }
    

1 个答案:

答案 0 :(得分:0)

您好删除testGroupNametestGrupAdi

之间的不匹配

使用此

<configuration>
  <configSections>
    <sectionGroup name="testGroupName">
      <section name="secName" type="TestAssemblyConfigReader.TestConfigReader"/>
    </sectionGroup>
  </configSections>

  <testGroupName>
    <secName anahtar="deger" />
  </testGroupName>
</configuration>