wpf 在.Net 6.0(核心)“类库”项目中创建经典属性.设置

rxztt3cl  于 2022-11-18  发布在  .NET
关注(0)|答案(1)|浏览(390)
  • 创建了一个新的“WPF应用程序”.NET 6.0项目。在项目-〉属性-〉设置-〉“创建或打开应用程序设置”中创建经典的应用程序设置很容易。
  • 观察到:项目获得一个新文件夹“Properties”,其中有一个黄色文件夹图标和一个额外的黑色扳手符号,OK
  • 它包含一个新的项Settings.settings,可以通过传统的设置设计器进行编辑,看起来就像它在.Net 4.8中使用的样子,并且在项目的根文件夹中自动创建了一个新的App.config XML文件,看起来也像它在.Net 4.8中使用的样子,好吗

现在,同样的过程显然只能在

  • 一个新的“类库”项目被添加到同一个解决方案中,我希望在其中使用该Properties.Settings / app.config功能包来可配置地存储DB连接字符串:
  • 新的子项目在项目属性对话框中似乎没有“设置”选项(与.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= cc 7 b13 ffcd 2ddd 51”请考虑添加对该程序集的引用。ClassLibrary 1 C:\Users\Stefan\source\repos\WpfCorePropertiesSettings\ClassLibrary1\Properties\Settings.Designer.cs 16活动

  • 作为下一步,将NuGet包“System.Configuration.Abstractions”添加到类库项目中可以治愈症状,“rebuild solution”可以使错误消失。

TLDNR,实际问题:该序列是可接受解决方案还是要避免的杂牌产品?
对我来说,NuGet软件包的描述听起来不像是为了这个目的而制作的,而且我以前也没有听说过维护者的名字(这可能重要,也可能不重要?)https://github.com/davidwhitney/System.Configuration.Abstractions
短暂性脑缺血
PS:x1c 0d1x的版本

w46czmvw

w46czmvw1#

也许我不明白...为什么要创建“等同于UserSettings”?
我的配置是Win10+ VS 2022。我正在创建一个WPF. Net 6项目。我转到“项目属性”菜单。在项目属性选项卡的菜单中(左侧列)有一个选项项。如果选择了该选项,还没有创建设置,则会有一个小注解和一个指向“打开或创建应用程序设置”的链接。
不幸的是,我有俄罗斯本地化,所以截图是与俄罗斯的名字。

加法

但是一个额外的“类库”子项目似乎在我的En/US本地化中没有项目属性选项。在你的本地化中有吗?
这些都是APP的设置。因此,它们在库中没有太大的意义。但是如果需要,你可以只将类复制到库中,然后设置你需要的链接。
要执行此操作,请在Properties.Settings.Default.Save();行中键入应用程序代码。将光标移动到Settings并按F12键。

您将看到Settings类声明的源代码。此代码由代码生成器生成。x1c4d 1x
迁移到之后,将所有源代码复制到另一个项目的类中。迁移之后,可能需要在项目中添加引用,修复命名空间并添加using
至于类库项目中的参数,可能要看这个库是什么类型的,我在WPF类库中有这样的设置

但在标准库中-编号

相关问题