정적 ConfigurationManager.OpenExe(exePath)
메서드 를 사용하여 어셈블리와 관련된 구성 파일을 열 수 있다는 것을 알고 있지만 어셈블리와 관련이없는 구성을 열고 싶습니다. 표준 .NET 구성 파일입니다.
답변
Ricky가 게시 한 기사는 매우 좋지만 불행히도 귀하의 질문에 답변하지 않습니다.
문제를 해결하려면 다음 코드를 시도해야합니다.
ExeConfigurationFileMap configMap = new ExeConfigurationFileMap();
configMap.ExeConfigFilename = @"d:\test\justAConfigFile.config.whateverYouLikeExtension";
Configuration config = ConfigurationManager.OpenMappedExeConfiguration(configMap, ConfigurationUserLevel.None);
구성 내의 값에 액세스해야하는 경우 인덱스 연산자를 사용할 수 있습니다.
config.AppSettings.Settings["test"].Value;
답변
구성 파일은 XML 파일 일 뿐이며 다음과 같이 열 수 있습니다.
private static XmlDocument loadConfigDocument()
{
XmlDocument doc = null;
try
{
doc = new XmlDocument();
doc.Load(getConfigFilePath());
return doc;
}
catch (System.IO.FileNotFoundException e)
{
throw new Exception("No configuration file found.", e);
}
catch (Exception ex)
{
return null;
}
}
나중에 다음을 통해 값을 검색합니다.
// retrieve appSettings node
XmlNode node = doc.SelectSingleNode("//appSettings");