首页 > 解决方案 > 发布桌面应用程序时配置设置

问题描述

我有一个(非常)旧的 c# 桌面应用程序,我继承了它,我需要将硬编码的值移动到设置类中。这个设置类属于一个类库。但是,当我发布主项目(即 Windows 应用程序)时,类库中的任何设置都不会出现在发布的 app.config 中。

所以:有一个带有两个项目的 VS 2017 解决方案:一个类库和一个 winforms 应用程序。两者都有一个 Settings.settings 类;但是当我发布 winforms 应用程序时,生成的 app.config 只有来自 winforms 应用程序项目的设置。

我是否必须将设置从类库移动到主项目才能在 app.config 中发布?(这看起来很奇怪,因为前端的代码不直接使用这些设置)

或者有什么方法可以确保在发布时将类库中的设置包含在 app.config 中?

标签: c#winformsapp-configdesktop-application

解决方案


“App.Config”文件是从项目属性中的“资源”选项卡中填充的。如果你创建一个“设置”类('SettingsClass.cs'),这确实不会明显地出现在编译的产品中。这样的类有助于在设计过程中更轻松地查找和更改值,但它不允许轻松更新(尽管它也使最终用户更难检查所述设置)。

如果您希望能够轻松查看和更改已编译产品中的值(例如,通过更新程序);您将需要使用项目属性,或使用其他方法(excel 文件、xml 文件、sql 数据库),以及(自定义)阅读器类


推荐阅读