如何儲存及使用 Visual Basic.NET 或 Visual Basic 2005,從應用程式組態檔擷取自訂資訊

文章翻譯 文章翻譯
文章編號: 313405 - 檢視此文章適用的產品。
本文章的有 Microsoft.NET Microsoft Visual C#] 版本請參閱 815786
全部展開 | 全部摺疊

在此頁中

結論

本文將告訴您,如何在您可以稍後在 Run Time 時擷取由其相關聯的應用程式的組態 (.config) 檔中儲存自訂的資訊。當您需要定義應用程式相關聯的資料時,這是一個有幫助。


需求

下列清單列出建議的硬體、 軟體、 網路基礎結構及您需要的服務套件:
  • Microsoft Windows 2000]、 [Microsoft Windows XP] 或 [Microsoft Windows Server 2003
  • Microsoft Visual Studio.NET (2002) 或 Microsoft Visual Studio.NET 2003) 或 Microsoft Visual Studio 2005
本文假設您已熟悉下列主題:
  • 可延伸標記語言 (XML)
  • .NET 組態檔

建立會讀取的主控台應用程式組態檔的內容

您可以儲存應用程式相關聯之組態檔內的應用程式設定。組態檔儲存在 XML 格式。System.Configuration 和 Microsoft.NET Framework 中的 System.Collections.Specialized 命名空間包含必要的類別,可在 Run Time 期間從.NET 應用程式組態檔中擷取資訊。

若要建立主控台應用程式,在執行階段讀取關聯的組態檔的內容,請依照下列步驟執行:
  1. 啟動 Visual Studio.NET 或 Visual Studio 2005。
  2. 建立新的主控台應用程式專案,名為 ConConfig Visual Basic.NET 或 Visual Basic 2005 中。Visual Basic.NET 或 Visual Basic 2005 會建立預設名為 Module1 的模組。
  3. 以滑鼠右鍵按一下 [ConConfig 專案 資料夾,指向 [新增],],然後再按一下 [加入新項目

    附註在 Visual 的 Studio 2005 中以滑鼠右鍵按一下 [ConConfig 專案 資料夾,指向 [新增],],然後再按一下 [新增項目
  4. 在 [加入新項目] 對話方塊選取 [應用程式組態檔] 範本、 按一下 [開啟舊檔,然後再將 App.config 檔案加入至專案。

    附註在 Visual Studio.NET 或 Visual Studio 2005 IDE 複製的資料夾位置可執行檔會編譯,並且會重新命名在 <ApplicationName><Application Type>.config 格式。
  5. 您可以使用應用程式組態檔來收集索引鍵/值格式儲存的自訂應用程式設定。您可以包含 <add><appsettings>中的項目 關聯的組態檔的區段。每個索引鍵/值組有一個 <add> 項目。一個 <add> 項目具有下列格式:
    <add key="theKey" value="theValue" />
    						
    新增一個 <appsettings><add>的區段 組態檔 <configuration>和</configuration> 標記之間的項目。例如,下列組態檔包含的<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>
    					
  6. 在 [方案總管中連按兩下 Module1.vb 以顯示 [Module1] 程式碼視窗]。將下列的陳述式加入至程式碼模組:

    附註這些陳述式必須出現在檔案
    Imports System.Configuration
    Imports System.Collections.Specialized
    					
    中的任何其他陳述式之前
  7. Sub Main] 程序維度中 <appsettings>保留從組態檔機碼值的字串變數 組態檔的區段:
    Dim sAttr As String
    					
  8. <appsettings>擷取指定索引鍵的值 區段組態] 檔案的使用 ConfigurationSettings 類別的 AppSettings 方法。ConfigurationSettings 類別是在 System.Configuration 命名空間內。當 AppSettings 方法接收包含索引鍵的字串輸入的參數時,應用程式會擷取與索引鍵相關聯的值。

    下列程式碼從關聯的組態檔擷取 Key0 屬性的值。然後程式碼會將此值放在字串變數 sAttr。如果一個機碼不存在此值,Nothing 儲存在 sAttr
    sAttr = ConfigurationSettings. AppSettings("Key0")
    					
  9. 若要顯示在主控台視窗中的應用程式會擷取值,使用 Console.WriteLine
    Console.WriteLine("The value of Key0: " & sAttr)
    					
  10. 您可以使用 AppSettings 屬性的一個參考來擷取所有索引鍵/值組中 「 <appsettings> 區段。如果您未指定任何參數,當您使用 AppSettings 屬性,應用程式會傳回所有相關聯的索引鍵/值組。 這些配對都儲存在包含應用程式會擷取每個索引鍵的索引鍵/值項目是 NameValueCollection 型別。NameValueCollection 類別是在
    Dim sAll As NameValueCollection
    sAll = ConfigurationSettings.AppSettings()
    					
    System.Collections.Specialized 命名空間。
  11. NameValueCollectionAllKeys 屬性參考字串陣列,具有應用程式會擷取每個索引鍵的項目。使用 的下一步 建構以逐一查看 AllKeys 陣列來存取應用程式會擷取每個索引鍵。AllKeys 中的每個索引鍵項目是一個字串資料型別。
    Dim s As String
    For Each s In sAll.AllKeys
    					
  12. 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"),您會收到錯誤訊息。
  • 組態檔必須包含在專案中。
  • 建立 Visual Studio 環境之外的檔案和它必須位於與它相關聯的應用程式相同的資料夾時,您必須使用下列語法組態檔名稱:
    ApplicationNameApplicationType.config
    其中 ApplicationNameApplicationType 應用程式的名稱是應用程式 (比方說 exe) 類型而.config 是必要的尾碼。

?考

如需詳細資訊請造訪下列 MSDN 網站]:
ConfigurationSettings.AppSettings 屬性
http://msdn2.microsoft.com/en-us/library/system.configuration.configurationsettings.appsettings(vs.71).aspx
System.configuration 命名空間
http://msdn2.microsoft.com/en-us/library/system.configuration(vs.71).aspx

屬性

文章編號: 313405 - 上次校閱: 2006年12月6日 - 版次: 5.5
這篇文章中的資訊適用於:
  • Microsoft Visual Basic 2005
  • Microsoft Visual Basic .NET 2003 Standard Edition
  • Microsoft Visual Basic .NET 2002 Standard Edition
關鍵字:?
kbmt kbvs2005swept kbvs2005applies kbconfig kbhowtomaster KB313405 KbMtzh
機器翻譯
重要:本文是以 Microsoft 機器翻譯軟體翻譯而成,而非使用人工翻譯而成。Microsoft 同時提供使用者人工翻譯及機器翻譯兩個版本的文章,讓使用者可以依其使用語言使用知識庫中的所有文章。但是,機器翻譯的文章可能不盡完美。這些文章中也可能出現拼字、語意或文法上的錯誤,就像外國人在使用本國語言時可能發生的錯誤。Microsoft 不為內容的翻譯錯誤或客戶對該內容的使用所產生的任何錯誤或損害負責。Microsoft也同時將不斷地就機器翻譯軟體進行更新。
按一下這裡查看此文章的英文版本:313405
Microsoft及(或)其供應商不就任何在本伺服器上發表的文字資料及其相關圖表資訊的恰當性作任何承諾。所有文字資料及其相關圖表均以「現狀」供應,不負任何擔保責任。Microsoft及(或)其供應商謹此聲明,不負任何對與此資訊有關之擔保責任,包括關於適售性、適用於某一特定用途、權利或不侵權的明示或默示擔保責任。Microsoft及(或)其供應商無論如何不對因或與使用本伺服器上資訊或與資訊的實行有關而引起的契約、過失或其他侵權行為之訴訟中的特別的、間接的、衍生性的損害或任何因使用而喪失所導致的之損害、資料或利潤負任何責任。

提供意見

 

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