Getting configuration settings from web.config/app.config using class library

.net-3.5, asp.net, vb.net

Solution

If you're not after structured settings, the appSettings section just takes key-value pairs:

<appSettings>
  <add key="ADIImageRoot" value="C:\DataTemp\ADI\Original\" />
  <add key="ADIImageVariantsRoot" value="C:\DataTemp\ADI\Variants\" />
</appSettings>

This will enable you to access them via the AppSettings dictionary:

ConfigurationManager.AppSettings["ADIImageVariantsRoot"]

As you would expect.

Alternatively, if you need more structure to your configuration (i.e. more than just strings, or a collection of settings), you can look into using a configuration section of your own, using a ConfigurationSection, and its relevant parts.

Problem

Configuration settings in 3.5 is driving me nuts... Help! ;) I have a class library (Named ADI), that needs some configuration settings from the project using it (like connectionstring, filesystem locations etc). I want to define these settings in my Windows Forms/Web Projects App.Config or Web.Config, like other settings. Here is part of my app.config for my windows forms application: ``` <applicationSettings> <PhotoImportRobot.My.MySettings> <setting name="ADIImageRoot" serializeAs="String"> <value>C:\DataTemp\ADI\Original\</value> </setting> <setting name="ADIImageVariantsRoot" serializeAs="String"> <value>C:\DataTemp\ADI\Variants\</value> </setting> </PhotoImportRobot.My.MySettings> </applicationSettings> ``` How do I access that from my class library?? I tried this: ``` System.Configuration.ConfigurationManager.AppSettings("ADIImageVariantsRoot") ``` What to do?

Original source