2012-06-25 5 views
1

В консольном приложении я пытаюсь получить пару значений ключа section, но не смог. Есть два способа сделать это:Чтение имени раздела app.config

  1. ConfigurationSection
  2. IConfigurationSectionHandler

Но следующий код генерирует сообщение об ошибке: 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> 

Config читателя класс:

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; 
      } 
     } 
    } 
} 

Console Application:

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; 
     } 
    } 
} 

ответ

0

Здравствуйте удалить несоответствие между testGroupName и testGrupAdi

использование этого

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

    <testGroupName> 
    <secName anahtar="deger" /> 
    </testGroupName> 
</configuration> 
Смежные вопросы