ApplicationSettings部分和AppSettings部分之间有什么区别?

时间:2009-06-29 15:13:27

标签: c# settings

有人可以向我解释App.Config文件中AppSettings和ApplicationSettings部分之间的区别。为什么有两个不同的部分显然做同样的事情?

3 个答案:

答案 0 :(得分:20)

我相信app.config / web.config中的<appsettings/>集合允许您将设置存储在键值对中,并通过System.Configuration API进行访问,如下所示:

string setting = System.Configuration.ConfigurationManager.AppSettings["settingName"];

设置只能作为字符串值存储和检索 它们也可以通过System.Configuration.ConfigurationSettings访问,但这种方式已被弃用。

配置文件中的<ApplicationSettings/>集合以强类型方式存储您的设置,并且还允许您以强类型方式访问这些设置。 VS会在项目的属性文件夹中的 settings.settings 文件中自动为您生成包装类。要将设置文件添加到项目中,请右键单击项目,然后单击属性,然后打开设置选项卡。然后单击链接以添加新的设置文件。 VS会自动为您生成一个。就这么简单。

您通常按如下方式访问您的设置:

MyProjectName.Properties.Settings.Default.SettingName

请注意访问两个集合的方式不同。

存储设置的第二种(非弃用)方式是更好的方法,并提供了很大的灵活性和功能。虽然需要一些学习 - 但值得努力。

答案 1 :(得分:2)

http://kevinskorner.net/blog/post/2008/03/27/applicationSettings-vs-appSettings.aspx

  

应用程序设置为我们提供了更多   控制,最重要的,   intelliscence。

答案 2 :(得分:0)

这与我们都喜欢的向后兼容性有关。 ApplicationSettings是较新的构造。

使用较新的ConfigurationManager和WebConfigurationManager类来获取您的设置并执行此操作,您需要一个参考,因此System.configuration而不是System.Configuration:)。

有一次它开始有点傻了没有它。