61

I have created a C# console based project. In that project i have some variables like companyName, companyType which are Strings.

companyName="someCompanyName";
companyType="someCompanyType";

I need to create a config file and read values from it, and then initialize the variables companyName, companyType in the code.

  1. How can i create a config file (or equivalent) ?
  2. How can i read from the config file ?
Samuel Rondeau-Millaire
  • 1,020
  • 2
  • 13
  • 23
Illep
  • 15,441
  • 42
  • 155
  • 275

3 Answers3

106
  1. Add an Application Configuration File item to your project (Right -Click Project > Add item). This will create a file called app.config in your project.

  2. Edit the file by adding entries like <add key="keyname" value="someValue" /> within the <appSettings> tag.

  3. Add a reference to the System.Configuration dll, and reference the items in the config using code like ConfigurationManager.AppSettings["keyname"].

vwvw
  • 350
  • 3
  • 14
goric
  • 11,165
  • 7
  • 55
  • 68
27
Configuration configManager = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None);
KeyValueConfigurationCollection confCollection = configManager.AppSettings.Settings;

confCollection["YourKey"].Value = "YourNewKey";


configManager.Save(ConfigurationSaveMode.Modified);
ConfigurationManager.RefreshSection(configManager.AppSettings.SectionInformation.Name);
Neeraj Kumar
  • 755
  • 2
  • 16
  • 32
Matija Grcic
  • 12,298
  • 4
  • 61
  • 89
14
  1. Right click on the project file -> Add -> New Item -> Application Configuration File. This will add an app.config (or web.config) file to your project.

  2. The ConfigurationManager class would be a good start. You can use it to read different configuration values from the configuration file.

I suggest you start reading the MSDN document about Configuration Files.

Oded
  • 477,625
  • 97
  • 867
  • 998