【问题标题】:Config settings when publishing desktop application [duplicate]发布桌面应用程序时配置设置[重复]
【发布时间】:2019-07-01 12:21:54
【问题描述】:

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

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

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

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

【问题讨论】:

  • 我不了解其他更有经验的 C# 开发人员,但我没有足够的数据来回答您的问题。我需要确切地看到你在说什么,以免误解你的措辞
  • 简而言之:我有一个带有两个项目的 VS 2017 解决方案:一个类库和一个 winforms 应用程序。两者都有一个 Settings.settings 类;但是当我发布 winforms 应用程序时,生成的 app.config 仅包含 winforms 应用程序项目中的设置。
  • app.config 仅为启动项目加载,您需要将类库设置包含到您的应用配置文件中。
  • winforms 项目将只包含现有项目中的设置 - 您可以在 winforms 项目中添加一个链接到另一个项目中的设置文件 - docs.microsoft.com/en-us/previous-versions/windows/apps/… 这可能将两者结合起来而实际上没有移动设置文件?

标签: c# winforms app-config desktop-application


【解决方案1】:

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-03-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-03-27
    相关资源
    最近更新 更多