C# 对.Net应用程序设置框架感到困惑
由于对.Net世界还相当陌生,我对在WPF应用程序中存储我的应用程序设置的位置和方式感到非常困惑 我一直看到对C# 对.Net应用程序设置框架感到困惑,c#,wpf,application-settings,C#,Wpf,Application Settings,由于对.Net世界还相当陌生,我对在WPF应用程序中存储我的应用程序设置的位置和方式感到非常困惑 我一直看到对Properties.Settings.Default的引用,但这在我的WPF应用程序中无法解决,我无法找到这些类的实际类型,以便找到要拉入的程序集。这是WinForms特有的技术吗 我还发现ConfigurationSettings,它似乎已被弃用;ConfigurationManager、AppSettings、ApplicationSettings和Settings!我相信其中很多
Properties.Settings.Default
的引用,但这在我的WPF应用程序中无法解决,我无法找到这些类的实际类型,以便找到要拉入的程序集。这是WinForms特有的技术吗
我还发现ConfigurationSettings
,它似乎已被弃用;ConfigurationManager
、AppSettings
、ApplicationSettings
和Settings
!我相信其中很多都可以一起工作,但我真的很难区分哪些是属于一起的,哪些是旧的,或者与WPF无关的
有人能为新手详细说明基本选项吗?如果没有太多的设置需要保存,为什么不使用Windows注册表?
ConfigurationManager
等没有什么神奇之处。您可以使用自己的设置对象,将其序列化/反序列化到XML或从XML进行序列化
请参阅以了解应用程序数据路径是什么
对于应用程序中未解析的
Properties.Settings.Default
,Solution Explorer
->您的项目->添加->新项目
->设置文件
。这将自动生成Properties.Settings
类,允许您在设计时编辑应用程序设置。然后,您将能够调用属性.设置.默认值.保存()
惊讶于没有人能够回答这个问题,所以我做了更多的挖掘,并将我的发现记录在这里,以防其他人像我一样感到困惑:
配置设置
已失效。(.Net 2)。它存在于System.Configuration.dll
中,是所有新配置的基础。它是一个静态类,因此可以在任何地方访问。它还公开了一组名为AppSettings
的名称/值对,可能是为了向后兼容
AppSettings
不是类型安全的,它实际上是成对的字符串
ApplicationSettings
似乎指的是ApplicationSettingsBase
,它是用作较新样式类型安全设置基础的类。子类包含映射到设置的成员<代码>配置管理器
仍用于管理/序列化这些
设置
是工具生成的上述静态子类,通过向项目中添加“设置文件”生成,允许在设计时编辑设置。它会生成到项目的属性命名空间中,因此可以通过应用程序中的任何位置通过属性.设置
访问。尽管WinForms在整个文档中都提到过,但它似乎也可以从WPF中使用
如果您不想使用设置文件,还可以使用您自己的自定义类直接使用ConfigurationManager。有关使用概述的一些综合链接包括:
所有这些设置似乎都被序列化到app.config文件中,尽管我看到了对不同应用程序设置文件的引用,所以我可能错了。我可以很高兴地将其滚动到注册表或文件中,但我认为,考虑到明显的现有机制,我会保存一些代码。此外,应用程序类是WinForms类。我的应用程序是WPF@GazTheDestroyer它在WinForms名称空间中是的,但是您可以在WPF应用程序中使用它,而不会有任何问题;我愿意。类似地,我用C#编写,使用Microsoft.VisualBasic.FileIO.TextFieldParser
类-也没问题。只是namespaces.Properties.Settings.Default是在生成Settings.Settings的代码文件中定义的变量。