2013年4月16日 星期二

[VB.NET]使用System.Configuration命名空間處理自訂的應用程式組態檔Config

在WinForm組態檔來說,較常使用的app.config,當專案建置後app.config會被編譯成(xxxx.exe.config)。

但是這樣只有此專案能使用這個app.config而已,如果當有多個專案要共用的話,其他專案也都加入此app.config,才能讀取得到。

當然有很多種方法可以解決這個問題,這裡只提供其中一種方法當作範例。

1.先在專案中加入一個自訂的應用程式組態檔 Sample.config
 


  
    
  
2.加入參考System.Configuration命名空間

3.讀取Sample.config
Imports System.Configuration

Module Module1
    Sub Main()
        Dim configFileMap As ExeConfigurationFileMap
        Dim config As Configuration
        Dim configKeyValue As KeyValueConfigurationElement
        Try
            configFileMap = New ExeConfigurationFileMap
            configFileMap.ExeConfigFilename = "Sample.config"
            config = ConfigurationManager.OpenMappedExeConfiguration(configFileMap, ConfigurationUserLevel.None)
            configKeyValue = config.AppSettings.Settings("Test")
            If configKeyValue Is Nothing Then
                Console.WriteLine("指定Key錯誤。")
            End If
            Console.WriteLine("Test=" + configKeyValue.Value)
            Console.ReadKey()
        Catch ex As Exception
            Console.WriteLine(ex.Message)
            Console.ReadKey()
        Finally
            configFileMap = Nothing
            config = Nothing
            configKeyValue = Nothing
        End Try
    End Sub
End Module