views:

502

answers:

3

What should dictate when I should use the configurationManager.AppSettings or the strongly typed settings that visual studio generates? The strongly typed ones seem much more appropriate in most cases, but I suppose that it would be possible to add settings dynamically to a deployed application using the ConfigurationManager approach, but are there any guidelines under which circumstances each is designed to be used?

A: 

I'd advise that the loosely typed settings are older and really should only be used for backwards compatibility.

The strongly-typed settings are more robust as they are... strongly typed.

Jeremy McGee
+2  A: 

From what I read, looks like AppSettings is the older way of doing things. MSDN docs states that user settings can be written at run time if you are using settings.

I always prefer strongly typed settings, which can be implemented with ConfigSection handlers.

http://stackoverflow.com/questions/460935/pros-and-cons-of-appsettings-vs-applicationsettings-net-app-config

ram
thanks, that question was what I was looking for when I was searching.
Sam Holder
A: 

Use Properties.Settings.Default.SettingName. But ConfigurationManager.AppSettings[”SettingName”] should be used only when first is impossible to use.

Vasiliy Borovyak
please explain under what circumstances the first might be impossible to use?
Sam Holder
If Properties.Settings.Default is used in another assembly. For example if Settings belong to assembly MyMainApplication and it uses MyBusinessLogicLibrary, - in this case MyBusinessLogicLibrary can only access `ApplicationSettingsBase` methods.
Vasiliy Borovyak