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
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
EDIT 4
ConfigurationManager was added to support ASP.NET Core's new WebApplication model, used for simplifying the ASP.NET Core startup code.
Gets the AppSettingsSection data for the current application's default configuration.
Right click the project and choose add reference, browse "Assemblies" and tick the System. Configuration assembly.
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.
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.
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