65

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,100
  • 2
  • 13
  • 24
Illep
  • 16,375
  • 46
  • 171
  • 302

3 Answers3

109
  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
  • 372
  • 4
  • 16
goric
  • 11,491
  • 7
  • 53
  • 69
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
  • 771
  • 2
  • 16
  • 37
Matija Grcic
  • 12,963
  • 6
  • 62
  • 90
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
  • 489,969
  • 99
  • 883
  • 1,009