|
dev
newsgroups
|
|||||||||||||||||||||||
|
|||||||||||||||||||||||
dll not reading .config ?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 "Søren M. Olesen" <smole***@hotmail.com> wrote in message I've only ever seen these values read from an Application.EXE.confignews: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. 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. 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. 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. > > |
|||||||||||||||||||||||