64

I got the following warning

'System.Configuration.ConfigurationSettings.AppSettings' is obsolete: '"This method is obsolete, it has been replaced by System.Configuration!System.Configuration.ConfigurationManager.AppSettings"'

How do you fix it?

pravprab
  • 2,301
  • 3
  • 26
  • 43
001
  • 62,807
  • 94
  • 230
  • 350

12 Answers12

129

Add a reference to the assembly System.Configuration.

Then at the top (assuming C#) using System.Configuration (Imports System.Configuration in VB.NET).

Use ConfigurationManager.AppSettings["MySetting"] to access the settings!

Patrick D'Souza
  • 3,491
  • 2
  • 22
  • 39
Mike Cheel
  • 12,626
  • 10
  • 72
  • 101
32

as its a warning i dont think it matters unless you have turned off a treat warnings as errors setting

add a reference to System.Configuration

all you have to do is to update to the latest code so where you used ConfigurationSettings.AppSettings[""] change to ConfigurationManager.AppSettings[""]

and this should work

stack72
  • 8,198
  • 1
  • 31
  • 35
20

Just in case someone else was looking for the Add Reference option to achieve the accepted answer in Visual Studio 2010. (I had to do this in updating a VB project).

In Visual Studio 2010:

  1. Click on Project > Add Reference.
  2. Click on the C# tab (even though mine was a pure VB project)
  3. Scroll down halfway to find System.Configuration (I had v4 since .NET Framework 4.0 was the chosen version)
  4. Click OK, then update the line of code as per the suggestion given.

From System.Configuration.ConfigurationSettings.AppSettings("name") to System.Configuration.ConfigurationManager.AppSettings

Without adding the reference IntelliSense won't suggest ConfigurationManager when you type it, and that's because it doesn't have a reference to be aware of where it is. Which is also why you will get errors when you updated the line of code according to their suggestion.

matrixanomaly
  • 6,627
  • 2
  • 35
  • 58
5

the System.configuration DLL exsit in c:\Windows\Microsoft.NET\Framework\v2.0.50727\

Ziv.Ti
  • 609
  • 7
  • 10
2

Just replace
System.Configuration.ConfigurationSettings.AppSettings
with
System.Configuration.ConfigurationManager.AppSettings
in your code.

Bondolin
  • 2,793
  • 7
  • 34
  • 62
1

After adding the reference using System.Configuration; at the top of the class. Still the same warning remains.

In Code Behind:

Instead of ConfigurationSettings.AppSettings["ConnectionString"]

Use ConfigurationManager.AppSettings["ConnectionString"]

By Default the System.configuration Dll will be added in your project.

In Web.config or App.config:

 <add key="ConnectionString" value="Some Connection Strings or Specific Path"/>
RajeshKdev
  • 6,365
  • 6
  • 58
  • 80
1

to use ConfigurationManager.AppSettings[""] Add Reference Assemblies not use using System.Configuration;

ewwink
  • 18,382
  • 2
  • 44
  • 54
1

you must add reference of System.onfiguration in your project then add "Using System.onfiguration;"

next step using like this:

private string SQLConnectionString = ConfigurationManager.AppSettings["SQlConnectionString"]; 
Kampai
  • 22,848
  • 21
  • 95
  • 95
0

example:

replace

string smtpServer = System.Configuration.ConfigurationSettings.AppSettings["EmailServer"];

with

string smtpServer = ConfigurationManager.AppSettings["EmailServer"];

also make sure on the top of the case you add:

using System.Configuration;
azote
  • 586
  • 4
  • 6
0

It's simple as mentioned above, just add a reference "System.Configuration" for the application, and within the code you can add "using System.Configuration" to the top of the code and use "ConfigurationManager.AppSettings[""]" where you need it.

0

I also face same issue, sometimes the assembly reference not loaded properly or if you are using multiple projects it give problems sometimes. You just add reference to assembly. Right Click>Add Reference>.Net>System.configuration> Click OK You can see now there are many configuration options available choose ConfigurationManager.AppSetting["Con"].ToString();

Build and Smile :)

Vijay Kumbhoje
  • 1,401
  • 2
  • 25
  • 44
0

I had the same problem in a C# project and I fixed it by writing appSettings instead of AppSettings in the XML file (camelCase expected) in the tag

<appSettings>
  <add key="myKey" value="my Value"/>
<appSettings>

After all C# is case sensitive

Fred Smith
  • 2,047
  • 3
  • 25
  • 36