I just recently needed this functionality so here's the class I made to
accomplish it:
Imports System.Collections.Specialized
Imports System.Reflection.Assembly
Public Class AssemblyConfigurationSettings
Public Shared ReadOnly Property AppSettings() As NameValueCollection
Get
Dim filename As String = GetCallingAssembly.Location & ".config"
Dim settings As New NameValueCollection
If Not System.IO.File.Exists(filename) Then
Return settings
End If
Try
Dim reader As New System.Xml.XmlTextReader(filename)
Dim doc As New System.Xml.XmlDocument
doc.Load(reader)
Dim configurationNode As System.Xml.XmlNode =
doc.SelectSingleNode("configuration")
If configurationNode Is Nothing Then
Return settings
End If
Dim appSettingsNode As System.Xml.XmlNode =
configurationNode.SelectSingleNode("appSettings")
If appSettingsNode Is Nothing Then
Return settings
End If
Dim nodes As System.Xml.XmlNodeList =
appSettingsNode.SelectNodes("add")
For Each node As System.Xml.XmlNode In nodes
settings.Add(node.Attributes("key").Value,
node.Attributes("value").Value)
Next
Catch ex As System.Xml.XmlException
End Try
Return settings
End Get
End Property
End Class
/claes
"Phill W." <p-***********@o-p-e-n.a-c.u-k> wrote in message
news:e0**********@yarrow.open.ac.uk...
"Søren M. Olesen" <sm******@hotmail.com> wrote in message
news:e0**************@TK2MSFTNGP11.phx.gbl...
However when I use this class library, it doesn't seem to read the
settings myClasses.dll.config file, instead I just get then initial
values I used when creating the settings.settings section.
I've only ever seen these values read from an Application.EXE.config
which, annoyingly, means you have to ship these settings in every
application that uses your library.
Or, in a web application, (I think) these settings are read from the
web.config file.
HTH,
Phill W.