나는 단순한 무엇인가를 놓치고 싶습니다. 내 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입니다.
아이디어가 있으십니까?
GetSection은 사전이 아닌 ConfigurationSection을 반환하므로 이상한 점이 없습니다. fileEnvironment 변수로 무엇을 할 수있을 것으로 예상됩니까? –
이 이전 quesntion 및 대답을 확인해 봤어 ... http://stackoverflow.com/questions/1278730/net-configurationmanager-app-config-confusion – Lloyd
네, 그걸 읽었습니다. 그것이 DictionarySectionHandler에 대해 배웠습니다. 어쨌든 전체 fileEnvironment 섹션을 사전으로 추출하여 일부분을 수정하고 사전 전체를 구성 파일에 다시 저장하려고합니다. 이것을 할 수 있습니까? – JimBoone