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.Configuration ¹× System.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¿¡ ¹èÄ¡ÇÕ´Ï´Ù. ÀÌ °ªÀÇ Å°°¡ ¾øÀ¸¸é sAttr¿¡ NothingÀÌ ÀúÀåµË´Ï´Ù.
    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. NameValueCollectionÀÇ AllKeys ¼Ó¼ºÀº ÀÀ¿ë ÇÁ·Î±×·¥ÀÌ °Ë»öÇÏ´Â °¢ Ű¿¡ ´ëÇÑ Ç׸ñÀ» °®°í ÀÖ´Â ¹®ÀÚ¿­ ¹è¿­À» ÂüÁ¶ÇÕ´Ï´Ù. 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

Çǵå¹é º¸³»±â