HOWTO: 응용 프로그램 구성 파일에서 사용자 지정 정보 저장 및 검색

기술 자료 번역 기술 자료 번역
기술 자료: 313405 - 이 문서가 적용되는 제품 보기.
이 문서는 이전에 다음 ID로 출판되었음: KR313405
모두 확대 | 모두 축소

이 페이지에서

요약

이 문서에서는 구성(.config) 파일에 사용자 지정 정보를 저장하고 이후 런타임 도중에 연결된 프로그램을 통하여 정보를 검색할 수 있도록 하는 방법을 설명합니다. 이 방법은 응용 프로그램과 연관된 데이터를 정의해야 할 때 유용합니다.

요구 사항

다음은 권장 하드웨어, 소프트웨어, 네트워크 인프라 및 서비스 팩입니다.
  • Microsoft Windows 2000 또는 Microsoft Windows XP
  • Microsoft Visual Studio .NET
이 문서는 사용자가 다음 항목을 잘 알고 있다고 가정합니다.
  • XML(Extensible Markup Language)
  • .NET 구성 파일

구성 파일의 내용을 읽는 콘솔 응용 프로그램 만들기

응용 프로그램 설정을 해당 응용 프로그램과 연관된 구성 파일에 저장할 수 있습니다. 구성 파일은 XML 형식으로 저장됩니다. Microsoft .NET Framework의 System.ConfigurationSystem.Collections.Specialized 네임스페이스에는 런타임 동안에 .NET 응용 프로그램 구성 파일에서 정보를 검색하는 데 필요한 클래스가 포함되어 있습니다.

런타임 동안에 연관된 구성 파일의 내용을 읽는 콘솔 응용 프로그램을 만들려면 다음과 같이 하십시오.
  1. Visual Studio .NET을 시작합니다.
  2. Visual Basic .NET에서 ConConfig라는 콘솔 응용 프로그램 프로젝트를 새로 만듭니다. 기본적으로 Module1이라는 모듈이 만들어집니다.
  3. 솔루션 탐색기 창이 나타나는지 확인합니다. 창이 나타나지 않으면 Ctrl+Alt+L 키를 누릅니다.
  4. 솔루션 탐색기에서 모든 파일 표시를 누릅니다.
  5. Bin을 마우스 오른쪽 단추로 누른 다음 프로젝트에 포함을 누릅니다.
  6. Bin 폴더를 마우스 오른쪽 단추로 누르고, 추가를 가리킨 다음 새 항목 추가를 누릅니다.
  7. 새 항목 추가 대화 상자에서 응용 프로그램 구성 파일 템플릿을 선택하고, 열기를 누른 다음 프로젝트에 App.config 파일을 추가합니다.

    참고: 응용 프로그램 구성 파일은 연관된 실행 파일과 같은 폴더에 있어야 합니다. Visual Studio .NET이 실행 파일을 Bin 폴더에 배치하므로 구성 파일도 Bin 폴더에 배치해야 합니다.
  8. 다음과 같은 형식에 따라 응용 프로그램 구성 파일의 이름을 지정해야 합니다
    ApplicationName.ApplicationType.config
    솔루션 탐색기에서 App.config를 마우스 오른쪽 단추로 누른 다음 이름 바꾸기를 누릅니다. App.config 파일의 이름을 ConConfig.exe.config로 바꿉니다. 이제 연관된 응용 프로그램이 이 .config 파일을 찾을 수 있습니다.
  9. 응용 프로그램 구성 파일을 사용하여 키/값 형식으로 저장한 사용자 지정 응용 프로그램 설정을 수집할 수 있습니다. 연관된 구성 파일의 <appSettings> 섹션에 <add> 요소를 포함시킬 수 있습니다. 각 키/값 쌍이 <add> 요소를 하나씩 갖고 있습니다. <add> 요소의 형식은 다음과 같습니다.
    <add key="theKey" value="theValue" />
    구성 파일에 <configuration> 태그와 </configuration> 태그 사이에 <add> 요소를 사용하여 <appSettings> 섹션을 추가합니다. 예를 들어 다음 구성 파일은 세 개의 키/값 쌍을 지정하는 <appSettings> 섹션을 포함시킵니다.
    <?xml version="1.0" encoding="utf-8" ?>
    <configuration>
    	<appSettings>
    		<add key="Key0" value="0" />
    		<add key="Key1" value="1" />
    		<add key="Key2" value="2" />
    	</appSettings>
    </configuration>
  10. 솔루션 탐색기에서 Module1.vb를 두 번 눌러 Module1 코드 창을 표시합니다. 코드 모듈에 다음 문을 추가합니다.

    참고: 다음 문들은 파일의 다른 문 앞에 나타나야 합니다.
    Imports System.Configuration
    Imports System.Collections.Specialized
  11. Sub Main 프로시저에서 구성 파일의 <appSettings> 섹션에 있는 구성 파일 키의 값을 보유하도록 문자열 변수의 차원을 지정합니다.
    Dim sAttr As String
  12. 구성 파일의 <appSettings> 섹션에서 지정한 키의 값을 검색하려면 ConfigurationSettings 클래스의 AppSettings 메서드를 사용합니다. ConfigurationSettings 클래스는 System.Configuration 네임스페이스에 있습니다. AppSettings 메서드가 키를 포함하고 있는 문자열 입력 매개 변수를 받으면 응용 프로그램이 해당 키와 연관된 값을 검색합니다.

    다음 코드는 연관된 구성 파일에서 Key0 특성의 값을 검색합니다. 그런 다음 코드는 이 값을 문자열 변수 sAttr에 배치합니다. 이 값의 키가 없으면 sAttrNothing이 저장됩니다.
    sAttr = ConfigurationSettings. AppSettings("Key0")
  13. 응용 프로그램이 검색하는 값을 콘솔 창에 표시하려면 Console.WriteLine을 사용합니다.
    Console.WriteLine("The value of Key0: " & sAttr)
  14. AppSettings 속성에 대한 참조를 하나만 사용해도 <appSettings> 섹션의 키/값 쌍을 모두 검색할 수 있습니다. AppSettings 속성을 사용할 때 매개 변수를 지정하지 않으면 응용 프로그램이 연관된 키/값 쌍을 모두 반환합니다. 이러한 쌍은 응용 프로그램이 검색하는 각 키에 대한 키/값 쌍을 포함하고 있는 NameValueCollection 형식으로 저장되어 있습니다. NameValueCollection 클래스는 System.Collections.Specialized 네임스페이스에 있습니다.
    Dim sAll As NameValueCollection
    sAll = ConfigurationSettings.AppSettings()
  15. NameValueCollectionAllKeys 속성은 응용 프로그램이 검색하는 각 키에 대한 항목을 갖고 있는 문자열 배열을 참조합니다. For Next 구성을 사용해서 AllKeys 배열을 통해 반복 이동하여 응용 프로그램이 검색하는 각 키에 액세스합니다. AllKeys의 각 키 항목은 문자열 데이터 형식입니다.
    Dim s As String
    For Each s In sAll.AllKeys
  16. For Each 구성 내에서 Console.WriteLine을 사용하여 콘솔 창에 키와 그 연관 값을 표시합니다. 응용 프로그램이 처리하는 현재 키는 "s"에 있습니다. 현재 키를 sAllNameValueCollection에서 인덱스로 사용하여 현재 키와 연관된 값을 얻습니다.

    예를 들어 응용 프로그램이 Key0 키를 처리하는 경우 sAll("Key0")은 이 키와 연관된 값을 검색합니다. Console.Readline 문은 콘솔을 일시 중단합니다. Enter 키를 누르면 응용 프로그램을 종료할 수 있습니다.
        Console.WriteLine("Key: " & s & " Value: " & sAll(s))
    Next
    Console.Readline

작동 확인 여부

F5 키를 눌러 코드를 실행하십시오. 콘솔 창에 연관된 구성 파일의 <appSettings> 섹션의 키/값 쌍이 다음과 같이 표시됩니다.
The value of Key0: 0
Key: Key0 Value:0
Key: Key1 Value:1
Key: Key2 Value:2

전체 코드 예제

Imports System.Configuration
Imports System.Collections.Specialized

Module Module1

    Sub Main()
        Dim sAttr As String

        sAttr = ConfigurationSettings.AppSettings("Key0")
        Console.WriteLine("The value of Key0: " & sAttr)
        
        Dim sAll As NameValueCollection
        sAll = ConfigurationSettings.AppSettings()

        Dim s As String
        For Each s In sAll.AllKeys
            Console.WriteLine("Key: " & s & " Value: " & sAll(s))
        Next
		  Console.ReadLine()
    End Sub

End Module

전체 구성 파일 예제(ConConfig.exe.config)

<configuration>
	<appSettings>
		<add key="Key0" value="0"/>
		<add key="Key1" value="1"/>
		<add key="Key2" value="2"/>
	</appSettings>
</configuration>

문제 해결

  • 구성 파일은 XML 형식으로 저장됩니다. 모든 XML 구문 규칙을 따르고 있는지 확인합니다. XML은 대/소문자를 구분합니다. XML이 잘 구성되어 있지 않거나 요소의 철자가 틀리면 System.Configuration.Configuration 예외가 나타납니다.

    예를 들어 <add> 요소의 키 특성을 추가할 때 소문자 "k" 대신 대문자 "K"를 사용하거나 <appSettings> 섹션이 <AppSettings>로 나타나면(소문자 "a" 대신 대문자 "A" 사용) 오류 메시지가 나타납니다.
  • 구성 파일은 연결된 응용 프로그램과 같은 폴더에 있어야 합니다.
  • 구성 파일 이름에 대해 다음 구문을 사용해야 합니다.
    ApplicationName.ApplicationType.config
    여기서 ApplicationName은 응용 프로그램의 이름이고, ApplicationType은 응용 프로그램의 형식(예: exe)이며, .config는 필수 접미사입니다.

참조

자세한 내용은 다음 MSDN 웹 사이트를 참조하십시오.
구성 설정 액세스
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cpguidnf/html/cpconaccessingconfigurationsettings.asp

ConfigurationSettings.AppSettings 속성
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cpref/html/frlrfSystemConfigurationConfigurationSettingsClassAppSettingsTopic.asp

System.Configuration 네임스페이스
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cpref/html/frlrfSystemConfiguration.asp

속성

기술 자료: 313405 - 마지막 검토: 2002년 4월 16일 화요일 - 수정: 1.0
본 문서의 정보는 다음의 제품에 적용됩니다.
  • Microsoft Visual Basic .NET 2002 Standard Edition
키워드:?
kbhowto kbhowtomaster KB313405

피드백 보내기

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com