Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to use ConfigurationManager

I want to use App.config for storing some setting. I tried to use the next code for getting a parameter from a config file.

private string GetSettingValue(string paramName) {     return String.Format(ConfigurationManager.AppSettings[paramName]); } 

I also added System.Configuration for it (I used a separate class), and in App.config file I have:

<?xml version="1.0" encoding="utf-8" ?> <configuration>   <startup>      <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5" />   </startup>   <appSettings>     <add key ="key1" value ="Sample" />   </appSettings> </configuration> 

But I got an error while trying to use ConfigurationManager - ConfigurationManager can't exist in such context, but I already added System.Configuration. Or did I miss something?

EDIT:

class with config (full view)

using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Configuration;  namespace browser {     class ConfigFile     {         private string GetSettingValue(string paramName)         {             return String.Format(ConfigurationManager.AppSettings[paramName]);         }     } } 

EDIT2

Add how it looks

enter image description here

This means the problem is not during using ConfigurationManger but before - the program "says" that it "doesn't know such element" as I understand the error - the "Element ConfigurationManager" doesn't exist in such context"

EDIT3

enter image description here

EDIT 4

enter image description here

like image 404
hbk Avatar asked Oct 07 '13 19:10

hbk


People also ask

Can I use ConfigurationManager in .NET Core?

ConfigurationManager was added to support ASP.NET Core's new WebApplication model, used for simplifying the ASP.NET Core startup code.

What is the use of ConfigurationManager AppSettings?

Gets the AppSettingsSection data for the current application's default configuration.

How do I add a reference to System configuration ConfigurationManager?

Right click the project and choose add reference, browse "Assemblies" and tick the System. Configuration assembly.


2 Answers

Okay, it took me a while to see this, but there's no way this compiles:

return String.(ConfigurationManager.AppSettings[paramName]); 

You're not even calling a method on the String type. Just do this:

return ConfigurationManager.AppSettings[paramName]; 

The AppSettings KeyValuePair already returns a string. If the name doesn't exist, it will return null.


Based on your edit you have not yet added a Reference to the System.Configuration assembly for the project you're working in.

like image 69
Mike Perrenoud Avatar answered Oct 06 '22 01:10

Mike Perrenoud


Go to tools >> nuget >> console and type:

Install-Package System.Configuration.ConfigurationManager  

If you want a specific version:

Install-Package System.Configuration.ConfigurationManager -Version 4.5.0 

Your ConfigurationManager dll will now be imported and the code will begin to work.

like image 23
Luis Armando Alquichire Avatar answered Oct 06 '22 00:10

Luis Armando Alquichire