[C#] 사용자 정의 구성 파일로드

정적 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");


답변


답변