2012-01-21 3 views
0

나는 단순한 무엇인가를 놓치고 싶습니다. 내 exe.config 파일의 섹션을 읽고 쓸 필요가있다. 나는 내 코드이 있습니다GetSection 객체를 IDictionary로 캐스팅 할 수 없습니다. <>

var appConfiguration = ConfigurationManager.OpenExeConfiguration("Mytest.Console.exe"); 
var fileEnvironment = appConfiguration.GetSection("fileEnvironment"); 

을이 내의 app.config입니다 :

내 appConfiguration 변수는 {System.Configuration.Configuration}로 반환되고 "HasFile"속성이 설정되어
<?xml version="1.0" encoding="utf-8" ?> 
<configuration> 
    <configSections> 
     <section name="fileEnvironment" type="System.Configuration.DictionarySectionHandler"/> 
    </configSections> 

    <fileEnvironment> 
     <add key="TestEntry1" value="A nice value"/> 
     <add key="TestEntry2" value="Another value"/> 
    </fileEnvironment> 
</configuration> 

사실로.

"fileEnvironment"변수를 변환하지 않으면 System.Configuration.DefaultSection으로 반환됩니다. GetSection 메서드에 IDictionary<string, string>을 추가하면 fileEnvironment가 null입니다.

아이디어가 있으십니까?

+0

GetSection은 사전이 아닌 ConfigurationSection을 반환하므로 이상한 점이 없습니다. fileEnvironment 변수로 무엇을 할 수있을 것으로 예상됩니까? –

+0

이 이전 quesntion 및 대답을 확인해 봤어 ... http://stackoverflow.com/questions/1278730/net-configurationmanager-app-config-confusion – Lloyd

+0

네, 그걸 읽었습니다. 그것이 DictionarySectionHandler에 대해 배웠습니다. 어쨌든 전체 fileEnvironment 섹션을 사전으로 추출하여 일부분을 수정하고 사전 전체를 구성 파일에 다시 저장하려고합니다. 이것을 할 수 있습니까? – JimBoone

답변

0

사전 문제를 계속 연구하고 this stackoverflow Q&A을 생각해 냈습니다. 사전 대신 모음집을 생성하지만 해결책을 제시합니다. 모두에게 감사드립니다.

관련 문제