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?
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.
You seem to be using the Settings stuff built into visual studio. This generates a wrapper class related to the file, called, in your case MySettings
.
You can thus write something like MySettings.Instance.ADIImageVariantsRoot
. (If you click show all files in the project toolbox, it will show you the .settings.cs file and you can see all the gory details)
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With