【发布时间】:2022-12-03 18:01:22
【问题描述】:
- 创建了一个新的“WPF 应用程序”.NET 6.0 项目 在项目->属性->设置->“创建或打开应用程序设置”中创建经典应用程序设置很容易
- 观察到:项目得到一个新文件夹“Properties”,它有一个黄色的文件夹图标和一个额外的黑色扳手符号,好的
- 它包含一个新项目
Settings.settings,它可以通过经典的设置设计器进行编辑,看起来就像它过去在 .Net 4.8 中的样子,并且在项目的根文件夹中自动创建一个新的 App.config XML 文件,它也看起来就像以前在 .Net 4.8 中一样,好的
现在,同样的程序显然只能手动完成
- 一个新的“类库”项目被添加到我想使用 Properties.Settings / app.config 功能包来可配置地存储数据库连接字符串的同一解决方案中:
- 新的子项目在项目属性对话框中似乎没有“设置”选项(与 .Net4.x 应该有的相反)
- 新的 Properties 文件夹和新的 Settings 文件也可以手动成功创建,如Equivalent to UserSettings / ApplicationSettings in WPF .NET 5, .NET 6 or .Net Core所述
- 但是执行“重建解决方案”会给出一个
错误 CS1069 在命名空间“System.Configuration”中找不到类型名称“ApplicationSettingsBase”。此类型已转发到程序集 'System.Configuration.ConfigurationManager, Version=0.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51' 考虑添加对该程序集的引用。 ClassLibrary1 C:\Users\Stefan\source\repos\WpfCorePropertiesSettings\ClassLibrary1\Properties\Settings.Designer.cs 16 活动
- 作为下一步,将 NuGet 包“System.Configuration.Abstractions”添加到类库项目可解决问题,“重建解决方案”可使错误消失。
TLDNR,实际问题:这个顺序是可以接受的解决方案还是需要避免的问题?
对我来说,NuGet 包的描述听起来不像是为此目的而制作的,而且我之前没有听说过维护者的名字(这可能重要也可能不重要?) https://github.com/davidwhitney/System.Configuration.Abstractions
TIA
【问题讨论】:
标签: wpf .net-6.0 app-config class-library configurationmanager