Home All Groups Group Topic Archive Search About

dll not reading .config ?

Author
31 Mar 2006 10:46 AM
Søren M. Olesen
Hi

I've created a Class library (myClasses.dll), and added a settings.settings
to it using designer.

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.

What do I have to do to get the classlibrary to read the associated .config
file???

TIA

Søren

Author
31 Mar 2006 11:55 AM
Phill W.
"Søren M. Olesen" <smole***@hotmail.com> wrote in message
news:e0$OEBLVGHA.2492@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.
Author
31 Mar 2006 3:36 PM
Brian Gideon
Phill,

I don't really see that as a problem in most situations.  When you add
a reference to the assembly you should also add the appropriate
settings to the app.config at that time.  In other words, you add them
at compile and not deployment time.  Furthermore, even if the
configuration infrastructure supported the *.dll.config method you'd
still have to deploy that file to every machine, but now you have more
than one file to keep track of.

Brian

Phill  W. wrote:
Show quote
> 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.
Author
31 Mar 2006 3:43 PM
Claes Bergefall
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

Show quote
"Phill W." <p-.a-.w-a-r-d@o-p-e-n.a-c.u-k> wrote in message
news:e0j588$nlk$1@yarrow.open.ac.uk...
>
> "Søren M. Olesen" <smole***@hotmail.com> wrote in message
> news:e0$OEBLVGHA.2492@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.
>
>

AddThis Social Bookmark Button