Click here to Skip to main content
15,905,325 members
Articles / Programming Languages / C#
Tip/Trick

DLL with configuration file

Rate me:
Please Sign up or sign in to vote.
4.79/5 (32 votes)
22 May 2011CPOL 196.2K   42   36
Using configuration files in DLL is not trivial, but is very simple.
Using configuration files in DLL is not trivial.
To accomplish this, we must follow these steps:

  • Add a reference to System.Configuration
  • Add a new Application Configuration File and the name it [Your project].dll.config
  • Change the BuildAction property of the config file to Content
  • Change the Copy to Output property to "Copy Always"


After these steps, you can access the configuration file this way:
//Open the configuration file using the dll location
Configuration myDllConfig = 
       ConfigurationManager.OpenExeConfiguration(this.GetType().Assembly.Location);
// Get the appSettings section
AppSettingsSection myDllConfigAppSettings = 
       (AppSettingsSection)myDllConfig.GetSection("appSettings");
// return the desired field 
return myDllConfigAppSettings.Settings["MyAppSettingsKey"].Value; 


Your configuration file should look like this:
XML
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
  <appSettings>
    <add key ="MyAppSettingsKey" value="MyValue"/>
  </appSettings>
</configuration>


That's all. Hope you enjoy this tip.

License

This article, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)


Written By
Team Leader ActionPoint
Ireland Ireland
I'm Brazilian currently living in in Limerick, Ireland. I've been working with software development since 1996.

Comments and Discussions

 
QuestionI vote 100% Pin
Member 308835528-Apr-20 10:16
Member 308835528-Apr-20 10:16 
PraiseThanks for this! Pin
jobzfirme10-May-18 8:21
jobzfirme10-May-18 8:21 
QuestionVote of 5 Pin
Shekhar Pankaj2-Feb-17 4:07
professionalShekhar Pankaj2-Feb-17 4:07 
AnswerRe: Vote of 5 Pin
fmsalmeida1-Mar-17 0:47
professionalfmsalmeida1-Mar-17 0:47 
Questionwhy use configuration files with DLLs Pin
bkelly1324-Feb-16 12:59
bkelly1324-Feb-16 12:59 
AnswerRe: why use configuration files with DLLs Pin
Garth J Lancaster24-Feb-16 13:27
professionalGarth J Lancaster24-Feb-16 13:27 
GeneralRe: why use configuration files with DLLs Pin
bkelly1325-Feb-16 13:03
bkelly1325-Feb-16 13:03 
GeneralRe: why use configuration files with DLLs Pin
Garth J Lancaster25-Feb-16 14:02
professionalGarth J Lancaster25-Feb-16 14:02 
the basic concept - a configuration file is where you may wish to store/modify some 'value' or set of values that your program needs as input, that you cannot get [from a user] some other way - so if it were a console/'command-line' program, instead of having the user provide arguments on the command-line, you could read them from 'the configuration file'

In the old days, one had the registry or '.ini' files - one can think of modern configuration files as being an 'extension' of ini files I guess. The 'framework' makes it easy for you to store things like database connections AND encrypt the value to keep it safe in 'configuration files'.

Ive had programs that run in an 'automated' sense 'batch processing' that used a configuration file entry to hold the database connection and the program has read all the rest of its information eg file-locations, names, from a database table - this made sense in the 'big insurance world' where I worked, it meant that all reference values could be centrally managed (a downfall of having configuration files scattered around the place). Ive seen configuration files used in a 'multiple environment' situation where you have one set of values for a dev system, one set for a test system, and one set for a prod system.

is that enough without overcomplicating it ? I could provide an example, but its what makes sense to your program/what you're trying to do that matters

GeneralRe: why use configuration files with DLLs Pin
Garth J Lancaster25-Feb-16 14:33
professionalGarth J Lancaster25-Feb-16 14:33 
QuestionThanks for the straight-to-the-point instructions, it helped me a lot! Pin
Member 124954625-May-14 5:20
Member 124954625-May-14 5:20 
AnswerRe: Thanks for the straight-to-the-point instructions, it helped me a lot! Pin
fmsalmeida12-Nov-14 3:53
professionalfmsalmeida12-Nov-14 3:53 
QuestionNot working when updating config file values Pin
xyz from Bangalore20-Oct-13 18:50
xyz from Bangalore20-Oct-13 18:50 
AnswerRe: Not working when updating config file values Pin
fmsalmeida12-Nov-14 3:57
professionalfmsalmeida12-Nov-14 3:57 
GeneralRe: Not working when updating config file values Pin
Member 1061559423-Apr-15 9:33
Member 1061559423-Apr-15 9:33 
GeneralMy vote of 5 Pin
remi22211-Jul-13 7:27
remi22211-Jul-13 7:27 
GeneralRe: My vote of 5 Pin
fmsalmeida12-Nov-14 3:57
professionalfmsalmeida12-Nov-14 3:57 
QuestionNot work in WebApplication Pin
Mlsoun1-Oct-12 2:04
Mlsoun1-Oct-12 2:04 
AnswerRe: Not work in WebApplication Pin
Fregate19-Feb-13 16:03
Fregate19-Feb-13 16:03 
GeneralRe: Not work in WebApplication Pin
fmsalmeida20-Feb-13 0:12
professionalfmsalmeida20-Feb-13 0:12 
GeneralRe: Not work in WebApplication Pin
Fregate20-Feb-13 12:15
Fregate20-Feb-13 12:15 
GeneralRe: Not work in WebApplication Pin
eng_george128-Jan-14 1:30
professionaleng_george128-Jan-14 1:30 
GeneralRe: Not work in WebApplication Pin
Member 348500310-Apr-15 4:33
Member 348500310-Apr-15 4:33 
GeneralRe: Not work in WebApplication Pin
Member 112799398-May-15 7:25
Member 112799398-May-15 7:25 
QuestionVS10 Saves Setting to Project.dll.config Pin
Member 462571327-Mar-12 5:24
Member 462571327-Mar-12 5:24 
GeneralReason for my vote of 5 This solved a problem that I've been... Pin
jtdavies8-Feb-12 8:54
jtdavies8-Feb-12 8:54 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Praise Praise    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.